Django 首页最佳/最常见做法

21 投票
2 回答
12613 浏览
提问于 2025-04-15 17:15

我现在在做一个网站(这是我第一次单独做),我想创建一个首页。我一直在努力遵循django的最佳实践,所以我自然去搜索了一下,但没有找到一个真正的标准来指导我。

我看到有些人创建了不同名字的应用来实现这个功能,比如“main”、“home”、“misc”等等,并且在项目的根目录下有一个views.py文件。我其实只是想知道大多数人是怎么做的。

这个首页不是静态的,因为我想检测用户是否登录等等。

谢谢。

2 个回答

3

我通常会在项目的根目录下创建一个 views.py 文件,在里面放置 index 这个视图。

19

如果你所有的动态内容都在模板里处理(比如说,只是简单地检查请求中是否有用户),那么我建议你使用一个通用视图,特别是这个叫做直接渲染模板的视图:

urlpatterns = patterns('django.views.generic.simple',
    (r'^$', 'direct_to_template', {'template': 'index.html'}),
)

如果你想在模板上下文中添加一些额外的信息,可以使用另一个参数,叫做extra_context,你可以把它传给这个通用视图来包含这些信息:

extra_context = { 
    'foo': 'bar',
    # etc
}
urlpatterns = patterns('django.views.generic.simple',
    (r'^$', 'direct_to_template', {'template': 'index.html', 'extra_context': extra_context }),
)

撰写回答