Django用户认证和授权怎么设置

Django提供了内置的用户认证和授权功能,可以通过简单的设置来实现。

用户认证设置:

在settings.py文件中,设置AUTHENTICATION_BACKENDS,指定认证后端:

AUTHENTICATION_BACKENDS = [
    'django.contrib.auth.backends.ModelBackend',
]

在urls.py文件中,添加登录和登出的路由:

from django.contrib.auth import views as auth_views

urlpatterns = [
    path('login/', auth_views.LoginView.as_view(), name='login'),
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]

用户授权设置:

在视图函数或类中使用装饰器来限制访问权限:

from django.contrib.auth.decorators import login_required

@login_required
def restricted_view(request):
    ...

在模板文件中使用{% if %}标签判断用户权限:

{% if user.is_authenticated %}
    {% if user.has_perm('app.can_view_page') %}
        <a href="/page/">View Page</a>
    {% endif %}
{% endif %}

以上是简单的Django用户认证和授权设置方法,可以根据具体需求进行进一步的设置和定制。

阅读剩余
THE END