2011-06-10 8 views
40

Soy nuevo en Django y trato de entender los medios de operación preferidos para implementar aplicaciones web.¿Qué se supone que significa una "aplicación" de Django?

Digamos que estoy haciendo una aplicación web con (por ejemplo) administración de inicio de sesión de usuario, algunas funciones de carga, manipulación de archivos cargados y representación de archivos cargados en la pantalla. Todos son parte de la misma "aplicación web".

¿Sería que cada una de estas funciones fuera su propia aplicación en el proyecto, o deberían ser todas juntas una sola aplicación? ¿Una aplicación de Django pretende corresponder a una aplicación web, o corresponde a un solo conjunto de funciones que interactúan con unas pocas tablas en la base de datos?

Respuesta

17

Una aplicación Django es un grupo de funciones relacionadas que se utiliza para completar o mantener un aspecto de un sitio. La aplicación web que describes se dividirá en al menos 2 aplicaciones de Django, dependiendo de cuán granular quieras que sea el manejo de los archivos cargados.

27

Hay que hacer una distinción entre las aplicaciones reutilizables y las no reutilizables. Para las aplicaciones reutilizables, es esencial que ofrezcan una funcionalidad bien definida y que estén destinadas a resolver un problema bien definido. Si este no fuera el caso, no serían muy reutilizables.

Sin embargo, es probable que también tenga algunas aplicaciones no reutilizables, es decir, una o más aplicaciones en un proyecto que implementan la lógica de la aplicación que es específica del proyecto. En mis proyectos, siempre tengo una aplicación no reutilizable llamada core que actúa como pegamento y ata todo junto. Si tengo distintas secciones en mi sitio, puedo optar por tener más aplicaciones no reutilizables, porque me gusta la forma en que esencialmente espacia el nombre de mi proyecto (por ejemplo, modelos, vistas, plantillas, etc.)

Cuestiones relacionadas