django没有反向匹配 [英] django no reverse match

查看:198
本文介绍了django没有反向匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好我从一个善良的人那里获得了这个问题的帮助,并希望看到有人可以帮助这里是我的代码。
urls.py

ok I was getting help from a kind person on this problem and would like to see if anyone can help here is my code. 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>

现在,当我尝试使用这个我得到反向为'场'与参数'()'和关键字参数'{'places_id':''}'没有找到有人可以帮我在这里,请记住,我省略了一些视图中定义的{{venues}}对象的代码。

now when I try to use this i get Reverse for 'venue' with arguments '()' and keyword arguments '{'venue_id': ''}' not found.Can anybody please help me here, and please keep in mind I left out some code like the {{venues}} object defined in a view.

推荐答案

您的<$您的模板中的c $ c>场馆对象是没有的,因此它没有 pk 。在您的模板中,您也不会传递任何场地对象。或许简化你的代码会有所帮助:

Your venue object in your template is none, so it doesn't have a pk. In your template you aren't passing any venues object either. Perhaps simplifying your code a bit will help:

调整你的视图方法有一点:

Adjusting your view method a bit:

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>

这篇关于django没有反向匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆