python - 在模板标签中使用绝对网址,名称显示但不会定向到链接

标签 python django

我遇到了一个奇怪的问题,我不知道我哪里做错了。我创建了模板标签,里面有这段代码

<a href="{{ category.get_absolute_url }}">{{ c.name }}</a></li>

它显示了所有类别的名称,但是当我单击它们时,它不会被定向。我把 debug=true 设置为 true,但它没有给我错误。这是负责上述内容的 urls.py

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

我会发布我的views.py以防万一

def category(request, category_name_slug):
    try:

                category = Category.objects.get(slug=category_name_slug)
                sort = request.GET["sort"].strip()
                sort_method = SortMethods[sort]
                page = request.GET["page"].strip()
    except KeyError:
                sort_method = SortMethods.score
                page = 1

    if sort_method == SortMethods.date:
                thread_list = Post.objects.filter(category=category).order_by("-pub_date")
    else:
                thread_list = Post.objects.filter(category=category)
                thread_list = sorted(thread_list, key=lambda x: x.get_score(), reverse=True)

    paginator = Paginator(thread_list, 30)

    try:
                posts = paginator.page(page)
    except PageNotAnInteger:
                posts = paginator.page(1)
    except EmptyPage:
                posts = paginator.page(paginator.num_pages)

    context = {
                "posts": posts,
                "pages": paginator.page_range,
                "sort": sort_method.name,
                "categories":category,
              "cat_name_slug":category_name_slug,
        }
    return render(request, "main/index.html", context)

urls.py 肯定有问题,但是什么问题呢?

编辑1: 这是我的 models.py

class Category(models.Model): 
    name = models.CharField(max_length=128, unique=True)
    likes = models.IntegerField(default=0)
    slug = models.SlugField(unique=True)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super(Category, self).save(*args, **kwargs)

    def __unicode__(self): 
        return self.name

    def get_absolute_url(self):
        return '/%s/%s' % (self.id, self.slug)

类别页面的工作方式如下: http/~/category/nameofcategory

最佳答案

应该是 {{ c.name }} 命名的重要性!...应该命名类别而不是...这让我更加困惑

关于python - 在模板标签中使用绝对网址,名称显示但不会定向到链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34421136/

相关文章:

django-tinymce 不显示格式化工具栏

python - Django ModelMultipleChoiceField 对象没有属性 to_field_name

Python Django manage.py runserver too many values to unpack 不支持将 3 元组传递给 include()

python - 混合隐式和显式等待

python - 如何安装 python .egg 文件

python - Flask 在导入 pandas(还有 numpy、matplotlib 等)后挂起

python - 如何根据 django urlpatterns 中的 HTTP 方法进行区分

django - 如何正确重命名 Wagtail 页面模型

python - 如果有两个不同的值具有相同的键,如何更改数据框单元格中的值

python - 找到 3 个字母的单词