Si el archivo de la aplicación/views.py se vuelve muy grande, ¿debería separarlo? Si es así, ¿cuál es la mejor manera de hacer esto?Separación de la aplicación Django Vistas
Respuesta
No hay genérica mejor manera. Pero hay una forma correcta para su situación.
- poner los puntos de vista de sus propios archivos y importarlos en su opinión. Esto es bueno sólo para ver cómo funciona
- hacer una aplicación separada dentro del proyecto para mantener un conjunto de puntos de vista
- crear su propia generic views que comparten los puntos de vista comunes a la mayoría de sus aplicaciones
a modo de ejemplo a partir: te recomiendo que empezar desde el modelo y el trabajo usted mismo:
- cómo muchos modelos ¿usted tiene?
- ¿En realidad todos se relacionan con o pueden agruparse?
- si el pueden agruparse dividir la aplicación en dos aplicaciones
- por lo que también dividir los puntos de vista
- determinará la vista funciones son similares y hacer que genérica.
Me gustaría separar las vistas con fines o funciones similares en un solo archivo, e incluir eso en views.py. Solo hago esto para la legibilidad y el mantenimiento. Por ejemplo, vistas CRUD para un objeto o grupo de objetos en particular.
Al importar estas vistas directamente en el archivo principal views.py, permite que las personas que no están familiarizadas con su convención encuentren dónde.
views/object_view.py
Algunos desarrolladores de sus puntos de vista de una python package en lugar de un módulo. Esto simplemente significa hacer un directorio llamado views
en su aplicación y luego colocar cada vista en su propio módulo (archivo) en ese paquete.
Luego crea un archivo __init__.py
(que es lo que lo convierte en un paquete). Este archivo puede estar vacío o puede importar todos los módulos de vista a su propio espacio de nombres.
Si está vacío, deberá importar cada vista que necesite directamente; de lo contrario, puede importarla como si fuera un módulo views.py.
En un mundo ideal, no debería tener que hacer esto. En su lugar, intente refactorizar su código en diferentes aplicaciones django para cada subpropósito que su proyecto necesite. De esta forma, puede dividir su proyecto aún mejor de lo que podría hacerlo si solo divide el archivo views.py.
Para obtener consejos sobre cómo dividir el proyecto en diferentes aplicaciones, recomiendo la lectura Proyectos Django prácticos de James Bennett, que es lo que estoy releyendo ahora :)
- 1. Django - dos vistas, una página
- 2. Vistas de clase en Django
- 3. Vistas basadas en roles Django?
- 4. Extendiendo las vistas genéricas de Django
- 5. Django Sitemaps y vistas "normales"
- 6. Convención de nomenclatura para vistas de Django?
- 7. Cómo obtener la aplicación actual en Django
- 8. Django - ¿permisos de usuario para ciertas vistas?
- 9. Preguntas sobre la estructura de la aplicación de iPhone: datos centrales, vistas, vistas modales, etc.
- 10. Django: cómo obtener la fecha de formato en las vistas?
- 11. ¿Qué es la separación de preocupaciones?
- 12. Django: Importe vistas desde aplicaciones separadas
- 13. Django: vistas paramétricas basadas en clases
- 14. tablas de separación mysql
- 15. Separación de lógica y UI
- 16. Integración de la aplicación django existente con django-cms
- 17. django: Prueba de vistas basadas en POST con objetos json
- 18. ¿Cómo aborda Clojure la separación de preocupaciones?
- 19. Vistas genéricas de Django: Cuándo usar ListView frente a DetailView
- 20. Implementación de la aplicación Django en nGINX
- 21. Django ORM para la aplicación de escritorio
- 22. Gran diseño de la aplicación Django
- 23. Usuario de Django HiddenInput vs guardar directamente en vistas con Vistas basadas en clase
- 24. Marco de la entidad, las capas de aplicación y separación de las preocupaciones
- 25. Django: ¿Cómo creo un enrutamiento url genérico a las vistas?
- 26. ¿Cómo pasa o comparte variables entre las vistas de django?
- 27. ¿Puedo filtrar en request.user cuando uso vistas genéricas de Django?
- 28. Grados de consulta de separación
- 29. Vistas genéricas basadas en clase Django y autenticación
- 30. Cómo usar centinela/cuervo en las vistas de Django
Esto es lo que hago para los objetos de mi modelo porque estoy trabajando con un dominio heredado grande. – ThatAintWorking