Python {%url%}给出了NoReverseMatch错误

Python {%url%}给出了NoReverseMatch错误,python,django,django-1.4,Python,Django,Django 1.4,我使用的是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 s

我使用的是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>
url.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'),
)
urlpatterns=patterns('hunt.views',
url(r'^$',views.landing,name='landing'),
url(r“^top100/$”,views.top100,name='top100'),
url(r'^top100/(?P[a-zA-Z0-9&-]+)/$”,views.dj,name='dj'),
)

看到您的URL后,我很惊讶您竟然发现它与“O'Callaghan”不兼容。正则表达式精确地指定它接受的字符:a到z、a到z、0到9、空格、符号和连字符。撇号不在那里。如果希望它接受撇号,则需要将其添加到该列表中

r"^top100/(?P<dj_name>[a-zA-Z0-9 &-']+)/$"
r“^top100/(?P[a-zA-Z0-9&-']+)/$”

url正则表达式中几乎肯定存在此错误。你应该发布。用url.py更新了这个问题。我一发布url.py就发现了这一点。谢谢你的帮助。
r"^top100/(?P<dj_name>[a-zA-Z0-9 &-']+)/$"