2009-12-21 64 views
20

我正在一個網站上工作(第一個獨唱),並去了一個索引頁。我一直在試圖跟隨Django的最佳實踐,所以當然我會去搜索這個,但是對於這個問題還沒有一個真正的標準。Django索引頁最佳/最常見的做法

我見過創建應用程序來服務這個目的的人們命名了各種東西(main,home,misc),並在項目的根目錄中看到了一個views.py。我真的只是在尋找大多數人爲此做的事情。

索引頁面不是靜態的,因爲我想檢測用戶是否已登錄等。

謝謝。

回答

19

如果你所有的動態內容是在模板處理(例如,如果它只是簡單的檢查,如果用戶存在的要求),那麼我建議使用一個通用的觀點,specificially的direct to template觀點:

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

如果你要的信息的幾個位添加到模板背景下,有另一種說法,extra_context,你可以傳遞給通用視圖包括它:

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

我結束了使用這種方法。在與我的本地django用戶組交談後,他們也同意這是最好的方法。 – Wraithan 2009-12-23 01:45:43

+11

這是被棄用的,更好的選擇是: 'from django.views.generic import TemplateView urlpatterns = patterns('', (r'^ $',TemplateView.as_view(template_name =「index.html」)) ,' – StaticX 2012-09-25 22:04:00

+0

@StaticX也許上面的評論保證自己在一個單獨的答案?它肯定可以幫助格式化。謝謝! – ryanjdillon 2014-03-23 14:17:53

3

我傾向於創建一個views.py在項目的根目錄中,我保留index視圖。

+0

從其他人的看法來看,這似乎是第二好的選擇,如果你需要一個完整的視圖而不是direct_to_template。 – Wraithan 2009-12-23 01:47:03