我刚从 django 开始(老实说,还有 python)
我正在尝试获取一个模型方法,该方法可以从当前 URL 中删除 self.slug 并将其返回到模板。
这是我尝试的方法:
class Category(models.Model):
...
def remove_filter(self):
url = HttpRequest.get_full_path()
slug = '/' + self.slug
return url.replace(slug, '')
但正如你可以想象的那样,它不起作用。
模板片段:
{% for object in active_filters %}
<li><a href="{{ object.remove_filter }}"><i class="icon-remove"></i></a>{{ object }}</li>
{% endfor %}
我的核心目标是通过删除当前对象的 slug 来更改带有 url 的前端图标。
我不知道如何通过意见来做到这一点,但我愿意接受任何建议。
def category_page(request, url):
slugs = url.split('/')
active = Category.objects.filter(slug__in=slugs)
sorted_slugs = []
for i in active:
sorted_slugs.append(i.slug)
if slugs != sorted_slugs:
url = '/'.join(sorted_slugs)
return redirect('http://127.0.0.1:8000/catalog/' + url)
inactive = Category.objects.exclude(slug__in=slugs)
return render(request, 'category.html', {'active_filters': active,
'inactive_filters': inactive})
谢谢。