2009-06-09 79 views
20

我一直在看看Django,從我看到的,這是非常棒的。然而,我有點困惑,我如何着手爲我的網站實施「主頁」?它會是一個單獨的應用程序,還是隻是項目中的視圖,或者是什麼?Django - 網站主頁

回答

11

這沒有真正的規則,但我喜歡做的一件事實際上是安排索引訪問重定向到另一個點。不過,如果你願意,你可以給索引頁面一個普通的視圖。

也就是說,將所有代碼保存在實際應用程序中可能是一個好主意,以便您可以更輕鬆地對其進行重構,並使其作爲普通模塊出現在Python路徑中。將視圖放在項目中而不是應用程序似乎會導致比解決問題更多的麻煩。

3

我才發現我原來的方法(direct_to_template)在Django已經過時1.5

相反,使用TemplateView來達到同樣的效果

from django.conf.urls import patterns, include, url 
from django.views.generic import TemplateView 

urlpatterns = patterns('', 
    (r'^$', 
     TemplateView.as_view(template_name='index.html'), 
     name='index'), 
) 

Django的1.4),你可以設置一個direct_to_template url內./project/project/urls.py

from django.conf.urls import patterns, include, url 
from django.views.generic.simple import direct_to_template 

urlpatterns = patterns('', 
    (r'^$', direct_to_template, { 'template': 'index.html'}), 
    # add urls to apps here 
) 

對於兩者,請將模板(index.html)放入您的TEMPLATE_DIRS根目錄中。這是創建主頁而不實施整個應用程序的一種方法。其他人已經注意到,有很多方法可以做到這一點。

+0

非常有幫助,謝謝。一個詭辯 - Django的設置是帶有S的'TEMPLATE_DIRS';可以是一個列表。不是'TEMPLATE_DIR'。 – 2014-05-29 21:03:15

+0

@ChrisJohnson更新。謝謝。 – bnjmn 2014-05-29 21:07:02