现在我有一个名为lyric的模型。详情如下:
class Lyric(models.Model):
title = models.CharField(max_length = 200)
body = models.CharField(max_length = 12000)
pub_date = models.DateTimeField('date published')
user = models.OneToOneField(User)
我有一个用户可以创建歌词的表单。接下来我要启用用户可以编辑和删除歌词。现在我已经实现了编辑的形式和删除功能。但是我如何限制许可?提前谢谢!!!
答案 0 :(得分:1)
这是一个快速提示。在您的观点中,请执行以下操作:
if request.user == lyric.user:
lyric.delete() # or save edits
else:
raise PermissionDenied # import it from django.core.exceptions
在模板中,您可以request.user
或user
访问登录用户:
{% if request.user == lyric.user %}
<a href="/link/to/view/">Delete</a>
{% endif %}