2009-12-21 63 views
20

我正在一个网站上工作(第一个独唱),并去了一个索引页。我一直在试图跟随Django的最佳实践,所以当然我会去搜索这个,但是对于这个问题还没有一个真正的标准。Django索引页最佳/最常见的做法

我见过创建应用程序来服务这个目的的人们命名了各种东西(main,home,misc),并在项目的根目录中看到了一个views.py。我真的只是在寻找大多数人为此做的事情。

索引页面不是静态的,因为我想检测用户是否已登录等。

谢谢。

回答

19

如果你所有的动态内容是在模板处理(例如,如果它只是简单的检查,如果用户存在的要求),那么我建议使用一个通用的观点,specificially的direct to template观点:

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 }), 
) 
+0

我结束了使用这种方法。在与我的本地django用户组交谈后,他们也同意这是最好的方法。 – Wraithan 2009-12-23 01:45:43

+11

这是被弃用的,更好的选择是: 'from django.views.generic import TemplateView urlpatterns = patterns('', (r'^ $',TemplateView.as_view(template_name =“index.html”)) ,' – StaticX 2012-09-25 22:04:00

+0

@StaticX也许上面的评论保证自己在一个单独的答案?它肯定可以帮助格式化。谢谢! – ryanjdillon 2014-03-23 14:17:53

3

我倾向于创建一个views.py在项目的根目录中,我保留index视图。

+0

从其他人的看法来看,这似乎是第二好的选择,如果你需要一个完整的视图而不是direct_to_template。 – Wraithan 2009-12-23 01:47:03