Django标记-使用分离的标记麻烦

问题描述

| 我在使用django标记时遇到了麻烦-按由几个单词组成的标记进行过滤不起作用。 楷模
class MyWidget(models.Model):
    \"\"\"Widget for tagging. It\'s damn bugged,so it need try except statement
    for be able to import in shell and work in general. Otherwise it\'s raiseing
    exception.\"\"\"
    name = models.CharField(max_length = 50)
try:
    tagging.register(MyWidget)
except tagging.AlreadyRegistered:
    pass
意见
class PostsByTags(ListView):
    \"\"\"View returns news filtered by tag.\"\"\"
    template_name = \'news.djhtml\'
    contect_object_name = \'news_list\'
    def get_queryset(self):
        tags = unquote(self.kwargs[\'tag\'])
        return TaggedItem.objects.get_by_model(News(),tags)
网址
url(r\'^news/(?P<tag>[\\w\\s]*)/$\',views.PostsByTags.as_view(),name = \'tagged_news\'),
如果网址看起来像这样   / news / separated%20tag / 视图类返回空列表。是什么原因?我该如何解决?     

解决方法

        我认为查询标记被分为两个(在tagging.utils.parse_tag_input中)。 get_by_model也可以使用Tag项而不是字符串,因此请尝试类似的操作。
tag_object = Tag.objects.get(name=self.kwargs[\'tag\'])
TaggedItem.objects.get_by_model(News(),tag_object)
    ,        如何格式化网址:
url(r\'^news/((?P<tag>[^/]+))/$\',views.PostsByTags.as_view(),name = \'tagged_news\'),