Różnica między nimi jest taka:
- Django, duży framework "batteries included", masz w nim wszystko co może być potrzebne. Nadaje się do większości dużych systemów. Minus jest taki, że jeśli chcesz coś specyficznego użyć/skonfigurować to jest ciężko coś zmienić.
-Flask, mikroframework, powstał jako primaaprillisowa parodia frameworka Bottle, ale społeczność stwierdziła, że "to jest dobre", i ostał się w topce. Tutaj już musisz więcej sam skonfigurować, ale nie masz tak jak w Django narzuconej struktury i dysponujesz większą "elastycznością" pracy.
Podsumowując:
Jeśli potrzebujesz solidnego backendu, z którym chcesz mieć mało problemów, wybierz Django. Jeśli chcesz mieć rozwiązanie małe, ale działające, Flask.