我已将views.py
拆分为两个文件,按此组织:
views/
__init__.py
public.py
private.py
在一个视图中(在公共场合)我渲染一个具有以下内容的模板:
<a href='{% url app.views.private.login_view %}'>Login</a>
加载网址时出现以下错误:
位于/ 的TemplateSyntaxError
渲染时抓住
ViewDoesNotExist
: 无法导入app.views.private.app.views
。错误是:没有模块 名为app.views
我做错了什么?
答案 0 :(得分:0)
我建议使用naming your url patterns,然后使用{% url %}
标记中的名称。
答案 1 :(得分:0)
尝试命名您的网址,然后在{% url ... %}
标记内使用该名称,如下所示:
#urls.py
url(r'^xyz/abc/$','app.views.private.login_view', name='login_view'),
#login_view.html (template-code)
<a href='{% url login_view %}'>Login</a>
答案 2 :(得分:0)
您使用的是{% load url from future %}
吗?如果是这样,您需要在网址周围加上引号,使其为{% url 'app.views.private.login_view' %}
Django 1.3的发行说明解释了它。 https://docs.djangoproject.com/en/dev/releases/1.3/#changes-to-url-and-ssi