python - Django如何创建仅对某些类型的用户可见的按钮
问题描述
我用 Django 创建了一个系统。我有几个用户,这些用户可以有不同rank
的 s。我有一个页面,只有 ' lead
' 用户可以看到该页面。在用户个人资料页面中,我想创建一个仅对lead
s 可见的按钮。
模型.py
class UserProfile(AbstractUser):
ranks = (
..
('lead', 'Lead'),
('manager', 'Manager'),
...
)
comp_name = models.CharField(max_length=200, default='', blank=True, null=True)
user_id = models.UUIDField(default=uuid.uuid4(), editable=False, unique=True)
username = models.CharField(max_length=500, unique=True)
...
视图.py
def is_lead(user):
return user.rank == 'lead'
@user_passes_test(is_lead)
@login_required
def lead_page(request):
return render(request, 'lead.html')
profile.html
<div class="col">
<a href="/leadpage" class="btn btn-outline-success"> Enter </a>
</div>
解决方案
您检查用户的排名。
{% if user.rank == "lead" %}
<div class="col">
<a href="/leadpage" class="btn btn-outline-success"> Enter </a>
</div>
{% endif %}
等等瞧
推荐阅读
- php - 允许的内存大小 536870912 字节用尽(尝试分配 268439552 字节)
- javascript - 如何将 React 组件打印成 PDF?
- json - 在 bash 脚本中编码 JSON
- modelica - 在 mos 脚本中自动获取组件、结果文件名
- php - 未捕获的错误:调用未定义的函数 stats_cdf_t()
- sql - 通过 Powershell 进行 SQL 查询,通过 .vbs 输出
- activemq-artemis - Apache ActiveMQ Artemis 队列名称格式要求
- kotlin - Kotlin 可空 JNI 类型
- kubernetes - 在不部署现有的情况下创建重复的 Pod/Pod
- php - php mysql select不在字段“名称”上工作