Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django NoReverseMatch:尝试在模板中获取slug_Python_Django - Fatal编程技术网

Python Django NoReverseMatch:尝试在模板中获取slug

Python Django NoReverseMatch:尝试在模板中获取slug,python,django,Python,Django,我需要创建一个页面,其中将有一个特定的标签文章 models.py class Tag(models.Model): title = models.CharField('Title', unique=True, max_length=40, primary_key=True) description = models.TextField('Description', max_length=300, help_t

我需要创建一个页面,其中将有一个特定的标签文章

models.py

class Tag(models.Model):
    title = models.CharField('Title', unique=True, max_length=40, primary_key=True)
    description = models.TextField('Description', max_length=300,
                                   help_text='Short description for this tag')
    tag_slug = models.SlugField()

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("tagged_posts", kwargs={"tag_slug": self.tag_slug})

    def save(self, force_insert=False, force_update=False, using=None,
             update_fields=None):
        self.tag_slug = slugify(self.title)
        super(Tag, self).save()
在关心帖子的课堂上,我有一种多对多的关系:

assoc_tags = models.ManyToManyField(Tag)
views.py

def tagged_posts(request):
    tag = Tag.objects.select_related().get(tag_slug=tag_slug) #I thought it would work, but it didn't
    posts = tag.post_set.all()
    return render(request, 'blog/tagged_posts.html', {'posts': posts, 'tag': tag, })
在admin.py中,我写到tag_slug是预填充字段

URL.py:

url(r'^tag/(?P<tag_slug>\S+)$', views.tagged_posts, name='tagged_posts'),
url(r'^tag/(?P\S+)$,views.taged_posts,name='taged_posts'),
模板:

Tagged under
        {% for tag in object.assoc_tags.all %}
            <a href="{% url 'tagged_posts' tag_slug=object.tag_slug %}">{{ tag }}</a>
        {% if not forloop.last %}, {% endif %}
        {% endfor %}
标记在下面
{object.assocu tags.all%}
{%if不是forloop.last%},{%endif%}
{%endfor%}
因此,我有以下错误:

NoReverseMatch:未找到带有参数“()”和关键字参数“{tag_slug':''}”的“taged_posts”的反转。已尝试1个模式:[“blog/tag/(?P\s+)$”]**


你能告诉我,我做错了什么吗

不太清楚,因为我认为你没有发布正确的视图,但看起来你在帖子上提到了
tag\u slug
,而不是在标签上

<a href="{% url 'tagged_posts' tag_slug=tag.tag_slug %}">

这个辅导帮助我解决了问题。下面的链接-显示添加的标记功能。正如Daniel Roseman回答的,我的模板中有不正确的引用:我引用的不是标记,而是“对象”