2009-06-09 80 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