python Django模板中的url模板标签

uklbhaso  于 2023-08-02  发布在  Python
关注(0)|答案(6)|浏览(132)

我试着在Django中使用URL模板标签,但是没有成功
我这样定义我的urls.py

urlpatterns = patterns('',
    url(r'^analyse/$',              views.home,  name="home"),
    url(r'^analyse/index.html',     views.index, name="index"),
    url(r'^analyse/setup.html',     views.setup, name="setup"),
    url(r'^analyse/show.html',      views.show,  name="show"),
    url(r'^analyse/generate.html',  views.generate, name="generate"),

字符串
我在视图中定义了URL模式,如下所示

{% url 'show'%}


然后我收到了这个错误信息
渲染时捕获异常:未找到带参数“()”和关键字参数“{}”的“show”的反向操作。
原始追溯(最近一次调用):File“/Library/Python/2.5/site-packages/django/template/debug.py“,line 71,in render_node result = node.render(context)File“/Library/Python/2.5/site-packages/django/template/defaulttags.py“,line 155,in render nodelist.append(node.render(context))File“/Library/Python/2.5/site-packages/django/template/defaulttags.py“,line 382,in render raise e NoReverseMatch:未找到带参数“()”和关键字参数“{}”的“show”的反向操作。
我想知道为什么django无法渲染?在tempalte中如何正确定义它?

yzckvree

yzckvree1#

**重要提示:这是Django 1.4。在Django 1.5中,情况正好相反。

尝试使用不带引号的url名称

{% url show %}

字符串
不是这个

{% url 'show'%}

6jygbczu

6jygbczu2#

问题是你的单引号围绕'秀'。把这个改成“秀”,应该就能解决了。
参见here

0sgqnhkj

0sgqnhkj3#

您可能有一些尚未实现的视图。看起来模板引擎试图从www.example.com中的模式中找到所有视图urls.py当{% url... %}过滤器。
它通常显示urls.py中的最后一个模式的错误。
尝试注解掉你还没有实现的每个url模式。
请确保使用完整路径:

{% url myapp.views.home %}

字符串
url模板过滤器看起来真的很不稳定。保持未来的兼容性。

m528fe3b

m528fe3b4#

您可能需要更具体地说明您要使用的视图:

{% url appname.views.show %}

字符串

h7wcgrx3

h7wcgrx35#

为了什么是值得的,我有同样的问题,虽然我不记得为什么现在,这为我解决了它。这是一个我正在开发的SCRUM应用程序。

url(r'^$', 'scrum.views.index',  name='scrum-index'),

字符串

fsi0uk1n

fsi0uk1n6#

Django 1.5或以上版本:

{% url 'show'%}

字符串
Django 1.4或更低版本:

{% url show %}

相关问题