为什么我的模板显示“tag\u quotination\u list”的错误消息,其中参数“('fre mov co',)”和关键字参数“{}”未找到

2024-06-09 15:48:15 发布

您现在位置:Python中文网/ 问答频道 /正文

型号.py:

class Quotation(models.Model):
      title = models.CharField(max_length=100)
      text = models.TextField()
      created_on = models.DateTimeField(auto_now_add = True)
      tags = models.ManyToManyField(Tag,related_name='tag')


 class Tag(models.Model):
      tag_name = models.CharField(max_length=10)

url.py:

url(r'^profile/tags/$', tag_list, name='tag_list'),
url(r'^profile/tags/(?P<tag>\w+)/$', tag_quotation_list ,name='tag_quotation_list'),
url(r'^profile/tags/(?P<tag>\w+)/(?P<slug>[\w-]+)/$',display_quotation,
     name='display_quotation'),

视图.py:

def tag_list(request):
    tags = Tag.objects.values_list('tag_name',flat=True).distinct()
    return render(request,'add/taglist.html',{'tags':tags})

def tag_quotation_list(request,tag):
    quotation_list = Quotation.objects.filter( tags__tag_name=tag)
    return render(request,'add/tagquotationlist.html',{'quotation_list':quotation_list})

taglist.html:

<h1>Tags</h1>
{% for tag in tags %}
    <li><a href="{% url 'add:tag_quotation_list' tag %}">{{tag}}</a></li>
{% endfor %}

在此html中,我在第3行中遇到错误。错误消息是:

Reverse for 'tag_quotation_list' with arguments '('fre mov co',)' and keyword arguments '{}' not found. 
1 pattern(s) tried: ['add/profile/tags/(?P<tag>\\w+)/$']

请帮助我在哪里犯错误


Tags: namepyaddurlmodelsrequesthtmltag
1条回答
网友
1楼 · 发布于 2024-06-09 15:48:15

如果标记可以包含空格,则urlpattern错误-r"/\w/""/fra mov co/"不匹配:

Python 2.7.3 (default, Feb 27 2014, 19:58:35) 
[GCC 4.6.3] on linux2
>>> import re
>>> re.match(r"/(?P<tag>\w+)/", "/far mov co/") is None
True

相关问题 更多 >