0

views.py分成两个文件,组织如下:

views/
  __init__.py
  public.py
  private.py

在一个视图中(公开),我渲染了一个模板,它具有以下内容:

<a href='{% url app.views.private.login_view %}'>Login</a>

加载 url 时出现以下错误:

/ 处的模板语法错误

渲染时捕获ViewDoesNotExist:无法导入app.views.private.app.views。错误是:没有命名的模块app.views

我究竟做错了什么?

4

3 回答 3

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

于 2012-08-09T18:06:43.183 回答
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>
于 2012-08-09T15:27:53.197 回答
0

我建议命名您的 url patterns,然后在{% url %}标签中使用该名称。

于 2012-08-09T15:12:18.937 回答