【问题标题】:django check if user is allowed to add Postdjango 检查是否允许用户添加帖子
【发布时间】:2017-10-03 17:10:18
【问题描述】:

我正在创建一个博客只是为了练习,我想允许一些用户添加/删除一个帖子如何添加这个 BooleanField 给用户并检查模板中是否允许

【问题讨论】:

  • Django 带有一个permissions system。您应该授予您的用户 add_postdelete_post 权限(或将他们添加到具有这些权限的组中),而不是尝试向您的模型添加新的布尔字段。
  • 谢谢,但是如何在模板中检查它们是 {% if user.allowed%}....
  • 有很多关于这个的教程和文档,快速谷歌:Django Tutorial Part 8: User authentication and permissions。在该页面上搜索Permissions,您将直接进入模型中的权限部分以及如何在模板中检查它们。不满意? google
  • 我链接到的页面在authentication data in templates 部分向您展示了如何。

标签: django django-users


【解决方案1】:

听起来您在谈论的是超出默认用户身份验证的扩展。像这样的东西应该可以工作:

from django.db import models
from django.contrib.auth.models import User

PERMS = (('E', 'Editor'),('P', 'Poster'),...)
class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    my_custom_permission_levels = modelsCharField(max_length=1, choices=PERMS)
    ...

你可以访问与这篇文章一致的 - Django accessing OneToOneField

profile = Profile.objects.get(user=request.user)

并将其添加到上下文中以在模板中访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多