Django url模板返回NoReverseMatch

时间:2012-05-30 21:27:43

标签: python django django-templates

来自here的问题。根据@dannyroa修复模板后 - 从模板名称中删除引号我仍然得到NoReverseMatch错误:

NoReverseMatch at /transfers/41/
Reverse for 'description_url' with arguments '(u'\u05ea\u05e7\u05e6\u05d9\u05d1 \u05d4\u05e9\u05db\u05e8 - \u05d1\u05d9\u05ea \u05d4\u05e0\u05e9\u05d9\u05d0',)' and keyword arguments '{}' not found.
Request Method: GET
Request URL:    http://127.0.0.1:8000/transfers/41/
Django Version: 1.4
Exception Type: NoReverseMatch
Exception Value:    
Reverse for 'description_url' with arguments '(u'\u05ea\u05e7\u05e6\u05d9\u05d1 \u05d4\u05e9\u05db\u05e8 - \u05d1\u05d9\u05ea \u05d4\u05e0\u05e9\u05d9\u05d0',)' and keyword arguments '{}' not found.
现在

模板:

<a href='{% url description_url transfer.description %}'>{{transfer.description}}</a>

urlconf:

url(r'^description/(?P<description>[\w ]+)/$',
                            'transfers.views.description_ListView',
                            name = 'description_url')

观点:

def description_ListView(requesst,**kwargs):

    template_name = 'transfers/description.html'

    o = get_list_or_404(Transfer, description =kwargs['description'])
    #print ('o:',o)
    context_object_name = "transfer_name_list" 
    return render_to_response(template_name,{context_object_name:o,'description':kwargs['description']})

这个问题真的开始让我失望。我知道我可以在传输模型上编写一个特定的方法(可能使用@permalink)为每个视图返回正确的URL。但这是一项很多的工作,当然这只是因为我在使用{%url%}模板标签时的悲惨失败而感到沮丧

感谢您的帮助

0 个答案:

没有答案