Django.contrib.auth.admin中的用户注册和登录管理
Django.contrib.auth.admin是Django框架中的一部分,提供了用户注册和登录管理的功能。下面是一个使用例子,详细介绍了如何在Django中使用Django.contrib.auth.admin来实现这些功能。
首先,在你的Django项目中打开settings.py文件,找到INSTALLED_APPS变量,并添加'django.contrib.auth'和'django.contrib.admin':
INSTALLED_APPS = [
...
'django.contrib.auth',
'django.contrib.admin',
...
]
然后,在项目的urls.py文件中,引入django.contrib.auth.urls,并将admin的URL路由添加到urlpatterns列表中:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
...
path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')),
...
]
接下来,打开终端,运行以下命令来创建superuser:
python manage.py createsuperuser
然后按照提示输入用户名和密码,创建一个管理员用户。
现在,可以登录到管理后台并创建其他用户了。在浏览器中打开http://localhost:8000/admin,使用刚刚创建的管理员用户进行登录。
创建用户:
在admin页面中,点击“Users”选项,然后点击“Add”按钮创建一个新的用户。在弹出的表单中,输入新用户的用户名、密码、Email等信息,并保存。
登录:
在浏览器中打开http://localhost:8000,点击页面右上方的“Log in”链接。进入登录页面后,输入刚刚创建的用户的用户名和密码,然后点击登录按钮。
登录成功后,可以继续访问其他需要认证的页面。
授权访问:
在Django中,使用装饰器@login_required来限制只有登录用户才能访问某个视图函数。例如,创建一个视图函数需要认证用户才能访问的页面,在views.py文件中添加以下代码:
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
@login_required
def my_view(request):
return render(request, 'my_template.html')
在urls.py文件中添加对应的URL路由:
from . import views
urlpatterns = [
...
path('my-view/', views.my_view, name='my-view'),
...
]
现在只有登录用户才能访问http://localhost:8000/my-view/页面了。
以上就是使用Django.contrib.auth.admin进行用户注册和登录管理的一个例子,通过该例子你可以学会如何在Django中使用Django.contrib.auth.admin来实现这些功能。
