我遇到了一个奇怪的问题,我不知道我哪里做错了。我创建了模板标签,里面有这段代码
<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/