Django - 带变量的url(slug)

时间:2017-01-19 23:23:00

标签: django

这是我的模板文件:

{% for tag, count in tags.items %}
     <a href="{% url 'tags'  slug=tag.slug  %}">{{ tag }}</a> ({{count}}),
{% endfor %}

urls.py

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

我试图将{{tag}}作为slug参数。可能吗?接下来,我将尝试创建一个页面,我将在“站点模型”中的关键字字段中列出所有可以标记标记的页面。

顺便说一下,我没有标签模型。我正在尝试将我的标签变量放入我的网址(标签/标签变量)。

我这样得到标签: index.view

tags = Tags().all_tags()
context['tags'] = tags

calculations.py

class Tags():

    def all_tags(self):
        sites = Site.objects.values('keywords')
        keywords = []
        tags = []
        for site in sites:
            keywords.append(site['keywords'].split(','))
        for keyword in keywords:
            for tag in keyword:
                tags.append(tag.strip())
        return(dict(Counter(tags)))

models.py

class Site(models.Model):
    category = models.ForeignKey('Category')
    subcategory = ChainedForeignKey(
        'Subcategory',
        chained_field='category',
        chained_model_field='category',
        show_all=False,
        auto_choose=True)
    name = models.CharField(max_length=70)
    description = models.TextField()
    keywords = MyTextField()
    date = models.DateTimeField(default=datetime.now, editable=False)
    url = models.URLField()
    is_active = models.BooleanField(default=False)

    def get_absolute_url(self):
        return "%s/%i" % (self.subcategory.slug, self.id)

    class Meta:
        verbose_name_plural = "Strony"

    def __str__(self):
        return self.name

1 个答案:

答案 0 :(得分:2)

标签模型将让您的生活更轻松
我假设您已制作了正确的观看标记,请使用slugify标记将您的标记转换为标记

{% for tag, count in tags.items %}
     <a href="{% url "tags"  tag|slugify  %}">{{ tag }}</a> ({{count}}),
{% endfor %}

和urls.py

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