在我的Django模板中,我需要将名称url的值分配给with块中的变量,以便我可以在多个位置使用它.
我需要实现这样的目标:
{% for tag in post.tags.all %}
{% with tagabs={%url showtag tag%} %}
<li><a href="{{tagabs}}">#{{tag}}</a></li>
{% endwith %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但显然这不起作用,最终会出现解析错误.上面的示例是一个简单的场景,我可以使用{%url showtag tag%}而不是{{tagabs}}并删除with块.但在我的场景中,tagabs值我需要在几个地方和if语句中使用它进行比较.
谢谢您的帮助.
您好我正在迁移我的应用程序以使用基于类的视图而不是基于函数的视图.在我的旧代码中,我能够以这种方式获取与函数视图相关的对象的绝对URL:
class Category(models.Model):
name = models.CharField(max_length=100,unique=True)
slug = models.SlugField(unique=True)
description = models.TextField()
parent = models.ForeignKey('self',null=True,blank=True)
def get_absolute_url(self):
return reverse('blog.views.showcategory',args=[str(self.slug)])
Run Code Online (Sandbox Code Playgroud)
我无法在我的获取绝对url函数中找到我应该更改的内容以获得相同的结果.
这是我基于班级的新视图
class CategoryView(ListPosts):
template_name = "postlist.html"
context_object_name="posts"
def get_queryset(self):
return Post.objects.filter(category__slug=self.kwargs['slug']).order_by('created')
Run Code Online (Sandbox Code Playgroud)
谢谢!