2009-12-21 17 views
20

Ich arbeite derzeit auf einer Website (erste Solo) und ging, um eine Indexseite zu machen. Ich habe versucht, den Best Practices von Django zu folgen, also gehe ich natürlich auf der Suche nach dem, kann aber keinen wirklichen Maßstab dafür finden.Django Index Seite am besten/am häufigsten Praxis

Ich habe gesehen, Leute erstellen Apps für diesen Zweck namens verschiedene Dinge (Main, Home, Misc) und haben eine views.py im Stamm des Projekts gesehen. Ich suche wirklich nur nach dem, was die Mehrheit da draußen macht.

Die Indexseite ist nicht statisch, da ich feststellen möchte, ob der Benutzer eingeloggt ist und so weiter.

Danke.

Antwort

19

Wenn alle Ihre dynamische Inhalte in der Vorlage behandelt wird (zum Beispiel, wenn es nur eine einfache Kontrolle ist, wenn ein Benutzer auf Antrag vorhanden ist), dann eine allgemeine Ansicht, die ich empfehlen, specificially die direct to template Ansicht:

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

Wenn Sie ein paar mehr Bits an Informationen zu der Vorlage Kontext hinzufügen möchten, gibt es ein weiteres Argument, extra_context, dass Sie die allgemeine Ansicht passieren kann enthalten:

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

Ich endete mit dieser Methode. Nach dem Gespräch mit meiner lokalen Django-Benutzergruppe stimmten sie auch darin überein, dass dies die beste Methode sei. – Wraithan

+11

Dies ist veraltet, eine bessere Option ist: 'von django.views.generic importieren TemplateView urlpatterns = Muster ('', (r '$ $', TemplateView.as_view (template_name =" index.html ")) , ' – StaticX

+0

@StaticX Vielleicht ist der obige Kommentar berechtigt, in einer separaten Antwort zu sein? Es könnte sicherlich mit der Formatierung helfen. Danke! – ryanjdillon

3

I zu schaffen neigen a views.py in der Wurzel des Projekts, wo ich die index Ansicht behalten.

+0

Von dem, was andere gesagt haben, scheint es, dass dies die zweitbeste Option ist, wenn Sie eine vollständige Ansicht statt nur direct_to_template benötigen. – Wraithan

Verwandte Themen