2009-12-21 7 views
20

Actualmente estoy trabajando en un sitio (el primero solo) y fui a hacer una página de índice. He intentado seguir las mejores prácticas de django a medida que avanzo, así que, naturalmente, voy en busca de esto, pero no pude establecer un estándar real con respecto a esto.Página de índice Django mejor/práctica más común

He visto gente crear aplicaciones para este propósito llamadas varias cosas (main, home, misc) y he visto un views.py en la raíz del proyecto. Realmente estoy buscando lo que la mayoría hace por esto.

La página de índice no es estática, ya que quiero detectar si el usuario ha iniciado sesión y tal.

Gracias.

Respuesta

19

Si la totalidad de su contenido dinámico se maneja en la plantilla (por ejemplo, si se trata de la comprobación sólo simple si un usuario está presente en la petición), entonces le recomiendo usar una visión genérica, de modo específico la direct to template vista:

urlpatterns = patterns('django.views.generic.simple', 
    (r'^$', 'direct_to_template', {'template': 'index.html'}), 
) 

Si desea agregar unas cuantas más bits de información al contexto de la plantilla, hay otro argumento, extra_context, que puede pasar a la vista genérica para incluirla:

extra_context = { 
    'foo': 'bar', 
    # etc 
} 
urlpatterns = patterns('django.views.generic.simple', 
    (r'^$', 'direct_to_template', {'template': 'index.html', 'extra_context': extra_context }), 
) 
+0

Terminé usando este método. Después de conversar con mi grupo local de usuarios django, también acordaron que este era el mejor método. – Wraithan

+11

Esto está en desuso, una mejor opción es: 'from django.views.generic import TemplateView urlpatterns = patterns ('', (r '^ $', TemplateView.as_view (template_name =" index.html ")) , ' – StaticX

+0

@StaticX Tal vez el comentario anterior justifique ser una respuesta separada. Sin duda podría ayudar con el formateo. ¡Gracias! – ryanjdillon

3

tiendo a crear a views.py en la raíz del proyecto donde guardo la vista index.

+0

Por lo que otros han dicho, parece que esta es la segunda mejor opción, si necesita una vista completa en lugar de solo direct_to_template. – Wraithan

Cuestiones relacionadas