我一直在看Django,从我所看到的,它非常棒。然而,我有点困惑,我如何为我的网站实施“主页”?它是一个单独的应用程序,还是项目中的一个视图,或者是什么?
答案 0 :(得分:11)
对此没有实际的规则,但我喜欢做的一件事实际上是安排索引访问重定向到另一个地方。但是,如果您愿意,可以只为普通视图提供索引页面。
那就是说,将所有代码保存在一个实际的应用程序中可能是一个好主意,这样你就可以更容易地重构它,并使它作为普通模块出现在python路径上。将视图放在项目而不是应用程序中似乎会引起比它解决的更多麻烦。
答案 1 :(得分: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
./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
根目录中。这是一种在不实现整个应用程序的情况下创建主页的方法。正如其他人所指出的那样,有很多方法可以实现这一目标。
答案 2 :(得分:1)
最简单的方法是使用Django的“Flatpages”。有关详细信息,请参阅此链接:http://docs.djangoproject.com/en/dev/ref/contrib/flatpages/