urls tutorial python django projects

python - tutorial - Guía para organizar grandes proyectos de Django



django views (2)

Cada "aplicación" debe ser pequeña: una única entidad reutilizable más algunas tablas asociadas. Tenemos alrededor de 5 más / menos 2 tablas por modelo de aplicación. La mayoría de nuestras aplicaciones de media docena son más pequeñas que 5 tablas. Uno tiene cero tablas en el modelo.

Cada aplicación debe diseñarse para ser un concepto reutilizable. En nuestro caso, cada aplicación es una parte del sitio general; las aplicaciones podrían eliminarse y reemplazarse por separado.

De hecho, esa es nuestra estrategia. A medida que nuestros requisitos se amplían y maduran, podemos eliminar y reemplazar aplicaciones de forma independiente.

Está bien que las aplicaciones dependan unas de otras. Sin embargo, la dependencia debe limitarse a las cosas obvias como "modelos" y "formas". Además, las aplicaciones pueden depender de los nombres en las URL de los demás. En consecuencia, sus URL nombradas deben tener un formulario como "vista de aplicación" para que la función reverse o la etiqueta {% url %} puedan encontrarlas correctamente.

Cada aplicación debe contener sus propios comandos por lotes (generalmente a través de un Comando formal que se puede encontrar mediante el script django-admin .

Finalmente, cualquier cosa que sea más compleja que un modelo simple o una forma que se comparte probablemente no pertenezca a ninguna aplicación, pero debe ser una biblioteca compartida por separado. Por ejemplo, usamos XLRD , pero envolvemos partes de él en nuestra propia clase, por lo que se parece más al módulo csv incorporado. Este envoltorio para XLRD no es una parte adecuada de una aplicación, es un módulo separado, fuera de las aplicaciones de Django.

¿Alguien podría recomendar una buena guía / tutorial / artículo con consejos / pautas sobre cómo organizar y particionar un gran proyecto de Django?

Estoy buscando consejos sobre qué hacer cuando necesite comenzar a factorizar los archivos únicos iniciales (models.py, urls.py, views.py) y trabajar con más de unas pocas docenas de entidades.


Me pareció útil echar un vistazo a los grandes proyectos de código abierto de Django y tomar nota de cómo lo hace ese proyecto. El sitio de Django tiene una buena lista de proyectos de código abierto:

http://code.djangoproject.com/wiki/DjangoResources#Open-SourceDjangoprojects

Al igual que Google (aunque la mayoría de estas son pequeñas etiquetas de plantilla de complemento y Middleware:

http://code.google.com/hosting/search?q=label:django

Por supuesto, solo porque un proyecto lo haga de una manera no significa que esa sea la manera correcta (o la manera incorrecta). Algunos de esos proyectos son más exitosos que otros.

Al final, la única manera de realmente aprender lo que funciona y lo que no funciona es probarlo usted mismo. Todos los consejos y sugerencias en el mundo no te ayudarán a menos que lo pruebes tú mismo, pero pueden ayudarte a comenzar en la dirección correcta.