![](/img/trans.png)
[英]get_absolute_url is not working--gives this error NoReverseMatch error
[英]{% url %} gives NoReverseMatch error
我正在使用Django 1.4并收到以下错误
Reverse for 'dj' with arguments '()' and keyword arguments '{'dj_name': u"John O'Callaghan"}' not found.
在数据库中使用John OCallaghan
代替John O'Callaghan
可以很好地工作,并且不会产生错误。
这是给出错误的行
<a href="{% url 'dj' dj_name=dj.name %}"><img src="{{ MEDIA_URL }}{{ dj.img }}" class="img-rounded" id="dj_img"/></a>
我在很多地方读到,在Django 1.4中,您不应该在{% url %}
中使用引号。 使用{% url dj dj_name=dj.name %}
代替{% url 'dj' dj_name=dj.name %}
会产生以下错误
TypeError - cannot concatenate 'str' and 'DJ' objects
urls.py
urlpatterns = patterns('hunt.views',
url(r'^$', views.landing, name='landing'),
url(r'^top100/$', views.top100, name='top100'),
url(r'^top100/(?P<dj_name>[a-zA-Z0-9 &-]+)/$', views.dj, name='dj'),
)
看到您的网址后,我惊讶于它不能与“ O'Callaghan”一起使用。 您的正则表达式精确指定了它可以接受的字符:a到z,A到Z,0到9,空格,“&”和连字符。 撇号不在那里。 如果希望它接受撇号,则需要将其添加到该列表中。
r"^top100/(?P<dj_name>[a-zA-Z0-9 &-']+)/$"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.