estrategia de la aplicación Django

14

He estado trabajando durante un tiempo en un proyecto de Django que ha estado creciendo un poco últimamente. He estado pensando un poco sobre qué estrategia utilizar para que sea más fácil de manejar. Una cosa que me gustaría recibir información sería si debo dividir mi aplicación en varias aplicaciones más pequeñas. Eso haría que mi vista y modelo de archivos fueran más pequeños y separaran algunas de las preocupaciones.

Una cosa que me molesta con esto es que en mis aplicaciones tendría varios métodos de ayuda que se usarán en todas las aplicaciones. Además, algunos modelos también tendrán que ser compartidos / utilizados entre aplicaciones. ¿Tendría esto sentido? Esto no va bien con la separación de las preocupaciones que esperaba lograr al dividir mi aplicación en varias aplicaciones más pequeñas. ¿Cuál sería un buen enfoque para compartir métodos de ayuda, modelos, etc. entre aplicaciones?

    
pregunta Mikael 14.08.2012 - 11:53

2 respuestas

11

Si su proyecto se está agrandando, piense en las aplicaciones como módulos reutilizables. Puede separar la funcionalidad que se comparte entre sus aplicaciones en su propia aplicación.

Consulte las discusiones a continuación para obtener más información al respecto:

respondido por el deadly 21.08.2012 - 11:22
2

Me gusta crear una aplicación base/ sin vistas y sin momentos para cosas compartidas.

Un problema que puede ocurrir cuando tienes modelos repartidos en varias aplicaciones es la importación circular. Esto se puede evitar usando cadenas para referirse a otros modelos ( foo = ForeignKey("someapp.Foo") en lugar de foo = ForeignKey(someapp.models.Foo) ). Django te permite usar cadenas como esta en más lugares.

    
respondido por el Simon Pantzare 22.08.2012 - 14:20

Lea otras preguntas en las etiquetas