【发布时间】:2020-12-22 13:57:05
【问题描述】:
我想创建一个博客站点,其中作者和编辑都可以拥有编辑选项,并且编辑将由作者指定。现在我的模型字段如下所示:
class Editor(models.Model):
name = models.OneToOneField(Author, on_delete=models.CASCADE, null=True, blank=True)
class Blog(models.Model):
title = models.CharField(max_length=150, null=True, blank=True)
author = models.ForeignKey(Author, on_delete=models.CASCADE, null=True, blank=True)
editor = models.ManyToManyField(Editor, blank=True)
date_created = models.DateTimeField(auto_now_add=True)
article = models.TextField(blank=True, null=True)
genre = models.ManyToManyField(Genre, blank=True)
def __str__(self):
return self.title
和views.py:
def blog(request, pk):
if request.user.is_authenticated:
blogs = Blog.objects.get(id=pk) //for dynamic url
editors = Editor.objects.all()
context = {'blogs':blogs,'editors':editors}
return render(request, 'blog/blog.html', context)
然后我想检查访问的人是否是作者或编辑,所以我写了一个 if 条件:
{% if request.user.author == blogs.author or blogs.editor %}
<a href="#" class="btn btn-warning">Edit</a>
{% endif %}
但不幸的是,每个人都可以访问编辑按钮。我该怎么办?
【问题讨论】:
标签: html sqlite django-models django-views django-templates