我在Django中创建了一个超级用户。有没有什么办法可以使用像Postman这样的REST API来验证超级用户凭证?或者我是否需要编写脚本化的REST API?
如果我的问题太广泛,请告诉我。我会更新我的问题。
此致
答案 0 :(得分:3)
就个人而言,我使用django-rest-framework http://www.django-rest-framework.org/,它有一个名为django-rest-auth http://django-rest-auth.readthedocs.io/en/latest/的第三方模块,它提供API端点来处理登录,注册和其他用户访问。文档非常好,已经存在很长一段时间了。
django.contrib.auth用户模型具有布尔值,is_staff和is_superuser,并且有一个装饰器来检查人员https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#the-staff-member-required-decorator。
来自docs的例子
from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
def my_view(request):
您可以通过以下方式实现类似的东西轻松创建自己的装饰器:
def super_user_required(view_func=None,
redirect_field_name=REDIRECT_FIELD_NAME,
login_url='admin:login'):
"""
Decorator for views that checks that the user is logged in and is a superuser
member, redirecting to the login page if necessary.
"""
actual_decorator = user_passes_test(
lambda u: u.is_active and u.is_superuser,
login_url=login_url,
redirect_field_name=redirect_field_name
)
if view_func:
return actual_decorator(view_func)
return actual_decorator
该软件包提供可选的JWT支持。 https://getblimp.github.io/django-rest-framework-jwt/