Seguí el tutorial de encuestas para Django y hoy estoy comenzando mi propio proyecto de pasatiempo. Al crear una aplicación, lo siguiente realmente me confundió:
Sus aplicaciones pueden vivir en cualquier lugar de su ruta de Python. En este tutorial, crearemos nuestra aplicación de encuestas en el mismo directorio que su archivo manage.py para que pueda importarse como su propio módulo de nivel superior, en lugar de un submódulo de mysite.
Entonces mi pregunta es: ¿cuál es la diferencia entre un módulo de nivel superior y un submódulo para mi proyecto?
¿Y cómo decido cuál elegir?
Cualquier ayuda será muy apreciada, ya que soy un programador novato que trabaja en mi primer proyecto de pasatiempo, jajaja.
No hay otra diferencia real más que cuestiones de gusto, organización y denominación.
Por lo que vale, con mis más de 10 años de Django, en general todavía me gusta tener los paquetes de aplicaciones paralelos al paquete del proyecto (es decir, lo que sugiere ese pasaje).
(Ocasionalmente, también es útil hacer que el paquete del proyecto sea una aplicación, para algunos modelos muy básicos, como usuarios personalizados, etc.)
Hay casos en los que tiene sentido tener paquetes de aplicaciones interrelacionadas, pero generalmente son para aplicaciones reutilizables como allauth , etc.