Django的login()函数
Django提供的login()函数是一个简单的用户登录方法,它可以将指定的用户名和密码认证,并将用户信息存储在session中。它的作用是在用户登录成功后,保持用户登录状态,以便在页面间跳转时不需要重复登录。
使用方法
- 需要在settings.py中设置好Django的认证系统,以及用户认证存储的数据库,这里以MySQL数据库为例:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'myuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '3306', } } AUTH_USER_MODEL = 'myapp.MyUser'
-
在views.py文件中引入login()函数,并定义一个login_view函数:
from django.contrib.auth import login def login_view(request): username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) # Redirect to a success page. ... else: # Return an 'invalid login' error message. ...
- 在模板中,添加一个表单,用于获取用户名和密码:
-
在urls.py中添加一个url,指向login_view函数:
urlpatterns = [ ... path('login/', views.login_view, name='login_view'), ... ]
以上就是使用Django的login()函数实现用户登录的全部过程,它可以帮助我们快速实现用户登录功能,并保持用户的登录状态。