【发布时间】:2012-08-31 21:28:29
【问题描述】:
我有一个功能齐全的 Django 项目(不在 virtualenv 中),它具有类似的 url 模式
url(r'^$', 'myapp.views.Dashboard', name="dashboard"),
在模板中使用
{% url 'dashboard' %}
我正在将它移动到虚拟环境中,但是当我使用 source venv/bin/activate 激活 venv 时,我所有的 URL 标签都会给出
NoReverseMatch at /
Reverse for ''dashboard'' with arguments '()' and keyword arguments '{}' not found.
如果我删除单引号,它会删除此错误,例如{% url dashboard %} 很好。但是,如果没有这些引号,当 virtualenv 被停用时,project-create 之类的 URL 会失败。
任何想法我应该看什么?应该删除所有引号并重命名我的复合网址(例如project-create ==> ProjectCreate)?
谢谢!
【问题讨论】:
-
你能确定你在 virtualenv 中使用的 django 版本与在它之外使用相同吗?
-
是的,这是我在诊断此问题时尝试的第 97 次瘦... :) 使用相同的要求 txt 在系统和虚拟环境上重新安装了 django
-
尝试使用 debug=true 并查看错误给出的 url。另外,将屏幕截图粘贴到某个地方,以便我们也可以查看。
-
调试已经为真......它发生在 any 命名的 URL 中,其中名称在 URL 模板标记中被单引号引起来。
标签: django django-templates virtualenv django-urls