【发布时间】:2016-06-09 16:07:00
【问题描述】:
这是我的html代码
<b><a href="{% url 'polls:logout_info' %}">logout</a></b>
<b><a href={% url 'polls:edit' author %}>Edit</a></b>
<br>
<center><h2> -- WELCOME {{ name }} -- </h2></center>
{% if errors %}
<ul>
{% for error in errors %}
<center>{{ error }}</center>
{% endfor %}
</ul>
{% endif %}<br>
这里是 url.py 代码(仅显示与此代码相关的 url)
从 django.conf.urls 导入 url
从 .导入视图
urlpatterns = [
url( r'^login/$', views.login ,name='login'),
url( r'^saveinfo/$', views.saveinfo ,name='saveinfo'),
url( r'^indexmain/$', views.indexmain ,name='indexmain'),
url( r'^indexmain1/$', views.indexmain1 ,name='indexmain1'),
url( r'^homemain/$', views.homemain ,name='homemain'),
url( r'^logout_info/$', views.logout_info ,name='logout_info'),
url( r'^edit/(?P<author>[a-z]+)/$', views.edit ,name='edit'),
]
我收到了这个错误:
NoReverseMatch at /polls/login/ Reverse for '' with arguments '('pratiksha ',)' 和关键字参数 '{}' 未找到。 0 个图案 试过:[]
为什么这个字符串会附加一些特殊字符??
【问题讨论】:
-
在哪里?我不明白你在问什么
-
author = "pratiksha" ,所以当我通过上面显示的 url 时......字符串附加了一些特殊字符。即 '('pratiksha ',)' 像这样。
-
额外的字符正是 django 处理参数的方式。 Django 将所有参数放在一个元组中,并在错误消息中显示该元组。如果您将 2 个参数传递到您的 URL,参数将如下所示:
'('pratiksha ', '2nd-parameter')' -
是的,但在 url.py 中它也不匹配模式。 :-(
-
你能展示你的整个 urlpatterns 结构吗?我的意思是从根
urlpatterns到那个'edit'url,你可以省略任何其他的URL,我只需要所有patterns、include和url用于那个确切的url 模式。