繁体   English   中英

django没有反向比赛

[英]django no reverse match

好的,我正在就这个问题从好心人那里得到帮助,想看看是否有人可以帮助我。 urls.py

urlpatterns = patterns('',

url(r'^venues/(?P<venue_id>\d+)/$','venues.views.venue', name='venue'),

views.py

def venue(request,venue_id):
venue= get_object_or_404(VenueProfile,
                           venue__pk=venue_id).select_related('venue')

return render_to_response('venues/venueprofile',{'venue',venue},
    context_instance=RequestContext(request))

模板

{% load url from future %}
{% for v in venues %}
    {% with ven=v.venue profile=v %}
<a href="{% url 'venue' venue_id=venue.pk %}">{{ven.name}}</a>

现在当我尝试使用此选项时,我找不到带有参数'()'和关键字参数'{'venue_id':''}''的'venue'反向。有人可以在这里帮助我,请记住我离开了删除一些在视图中定义的代码,例如{{venues}}对象。

模板中的venue对象为none,因此没有pk 在模板中,您也不会传递任何venues对象。 也许稍微简化一下代码会有所帮助:

稍微调整您的查看方法:

from django.shortcuts import render

def venue(request,venue_id):
    the_venue = get_object_or_404(Venue,pk=venue_id)
    return render(request,'venues/venueprofile',{'venue',the_venue})

您的模板:

{% load url from future %}
<a href="{% url 'venue' venue_id=venue.pk %}">{{venue.name}}</a>

place.pk的值为空字符串,因为它与您的正则表达式不匹配,所以没有显示反向匹配问题。

{% load url from future %}
{% for v in venues %}
    {% with ven=v.venue profile=v %}
<a href="{% url 'venue' venue_id=venue.pk %}">{{ven.name}}</a> # Problem is that venue.pk is empty string

反向使用参数'()'和关键字参数'{'venue_id':''}'对'venue'进行检查,在此检查一下place_id的值是否为“。

更换

{% url 'venue' venue_id=venue.pk %}

{% url 'venue' venue_id=ven.pk %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM