Django - 主页
我最近在研究Django,感觉它真是太棒了。不过,我有点困惑,想知道怎么为我的网站实现一个“主页”?这个主页应该是一个单独的应用,还是项目中的一个视图,或者其他什么方式呢?
3 个回答
1
最简单的方法是使用Django的“平面页面”(Flatpages)。想了解更多信息,可以查看这个链接: http://docs.djangoproject.com/en/dev/ref/contrib/flatpages/
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) 你可以在./project/project/urls.py
文件中设置一个direct_to_template
的链接。
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
根目录下。这是一种创建主页的方法,而不需要实现一个完整的应用程序。正如其他人所提到的,还有很多其他方法可以做到这一点。
11
其实这没有什么固定的规则,不过我个人喜欢把索引访问的内容引导到其他地方。如果你愿意的话,也可以让索引页面显示得简单一些。
不过,最好还是把所有代码放在一个真正的应用程序里,这样你可以更方便地进行重构,而且它会像普通模块一样出现在Python的路径中。把视图放在项目里而不是应用里,往往会带来更多麻烦,而不是解决问题。