Django入门,十分钟学会登录网页
以下是一个简单的Django登录页面示例。假设你已经安装了Django,并创建了一个新的项目和应用。
首先,在你的Django项目的views.py
文件中创建一个视图来处理登录表单:
from django.contrib.auth import authenticate, login
from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.contrib.auth.forms import AuthenticationForm
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST)
if form.is_valid():
user = authenticate(username=form.cleaned_data.get('username'),
password=form.cleaned_data.get('password'))
if user is not None:
login(request, user)
return HttpResponseRedirect('/home/') # Redirect to a success page.
else:
# Return an 'invalid login' error message.
form.add_error('password', 'Invalid login')
else:
form = AuthenticationForm()
return render(request, 'login.html', {'form': form})
然后,在你的应用的templates
目录下创建一个名为login.html
的模板文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login Page</title>
</head>
<body>
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Login">
</form>
</body>
</html>
最后,在urls.py
中添加一个URL模式来映射到你的登录视图:
from django.urls import path
from .views import login_view
urlpatterns = [
path('login/', login_view, name='login'),
]
确保你已经包含了Django的认证应用在你的settings.py
文件中:
INSTALLED_APPS = [
# ...
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
# ...
]
这样,当你访问/login/
时,你将看到一个登录表单。用户输入用户名和密码后提交,如果认证成功,将重定向到一个假设的/home/
页面。如果用户名或密码不正确,将在页面上显示错误信息。
评论已关闭