百日草启动问题

时间:2012-10-30 18:11:03

标签: python django zinnia

我试图让Zinnia在django网站上运行,以便我可以评估它。我已经成功安装了所有依赖项,一切都很好,我使用管理工具创建了一些帖子,但现在我收到错误访问它们了!

错误:

KeyError at /weblog/2012/10/12/test-post/

'request'

Request Method:     GET
Request URL:    http://127.0.0.1:8000/weblog/2012/10/12/test-post/
Django Version:     1.4.1
Exception Type:     KeyError
Exception Value:    'request'

Exception Location:     /usr/local/lib/python2.7/site-packages/django/template/context.py in __getitem__, line 54
Python Executable:  /usr/local/bin/python
Python Version:     2.7.3
Python Path:    

['/home/ubuntudev/webtest/twsite',
 '/usr/local/lib/python2.7/site-packages/setuptools-0.6c12dev_r88846-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg',
 '/usr/local/lib/python27.zip',
 '/usr/local/lib/python2.7',
 '/usr/local/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7/lib-tk',
 '/usr/local/lib/python2.7/lib-old',
 '/usr/local/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/site-packages']

供参考,这是我的settings.py和我的urls.py。后者无疑是一团糟,因为我一直在想着我能想到的一切。

我刚刚和Django以及Zinnia擦肩而过,所以请在你的答案中描述一下!提前谢谢。

1 个答案:

答案 0 :(得分:3)

Django有一个系统,用于向您的模板提供名为context processorshere's a good blog post about them)的变量。如果您希望在每个模板中都包含某些信息,这些系统很有用。例如,如果您没有我希望必须将导航菜单的所有链接添加到每个视图/模板,您可以改为编写模板处理器,将这些链接作为列表提供给每个模板。

有些上下文处理器对大多数应用程序都非常关键。其中一个是django.core.context_processors.request,它将当前请求对象传递给每个模板。这样,您就可以访问模板中的{{ request }}变量,该变量将为您提供有关用户发送的标题等信息(as well as much more)。

无论如何,简而言之,你已经在你的设置中禁用了上述django.core.context_processors.request

#TEMPLATE_CONTEXT_PROCESSORS = (
#        "django.contrib.auth.context_processors.auth",
#        'django.core.context_processors.i18n',
#        'django.core.context_processors.request',
#        'django.core.context_processors.media',
#        'django.core.context_processors.static',
#        'zinnia.context_processors.version',
#)

所以取消所有这些,你应该没事。