Django - 主页

21 投票
3 回答
12285 浏览
提问于 2025-04-15 12:08

我最近在研究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的路径中。把视图放在项目里而不是应用里,往往会带来更多麻烦,而不是解决问题。

撰写回答