2009-03-30 13 views

Respuesta

12

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.
2

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 
26

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.

+0

Esto es lo que hago para los objetos de mi modelo porque estoy trabajando con un dominio heredado grande. – ThatAintWorking

1

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 :)

Cuestiones relacionadas