我对 django 框架很陌生,我正在从头开始创建一个博客应用程序,并且我正在集成 django-taggit 来标记文章。我想要实现的是,我希望只有某些用户能够添加新标签,而其余用户只能使用现有标签。它类似于 stackoverflow 的实现,它允许具有一定声誉的用户添加新标签。
我如何实现这个目标?
最佳答案
你可以做几件事。首先我肯定会实现 UserProfile
某种模型,即具有 reputation
属性,然后您有很多选项来完成您的任务,即
使用@user_passes_test
装饰器,您可以在其中创建自己的函数以传递给装饰器。
def at_least_fifty_rep(user):
my_profile = ... # get the user profile
return my_profile.reputation > 50
@user_passes_test(at_least_fifty_rep)
def my_custom_view(request):
...
或者,您也可以在模板中实现控件。
关于python - 限制某些用户添加新标签,django-taggit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24566766/