上节内容已经创建了user应用程序,下面我们编写网页内容,实现登录功能。
一,网页内容
在项目目录下的templates中创建login.html(入果没有templates就创建一个)。
html内容供参考,可以自己添加其他内容。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<form action="" method="get">
<p>
<label>用户名:</label><input type="text" name="name">
</p>
<p>
<label>密 码:</label><input type="password" name="pwd">
</p>
<p>
<input type="submit" value="登录"/>
</p>
</form>
</body>
</html>
二、修改路由设置
首先修改根路由,在根路由中链接子路由,打开Blog–>urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('user/', include('user.urls')),
]
接着在user下创建urls.py文件,配置url
from django.urls import path
from . import views
urlpatterns = [
path('', views.index_view),
]
添加视图函数,在user下的views.py中加入下面内容
from django.shortcuts import render
# Create your views here.
def index_view(request):
return render(request, 'login.html')
三、访问页面
运行程序,在网页输入 http://127.0.0.1:8000/user/ 就可访问我们编写的网页.
四、关于不能访问
如果你在访问时http://127.0.0.1:8000/user/报错,是以为Django中没有加入templates模板路径。
打开Blog下的setting.py文件,添加路径模板即可。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
五、get请求判断登陆是否成功
在user下的urls.py中新加一个路由。
urlpatterns = [
path('', views.index_view),
path('login/', views.login_view),
]
添加视图函数,在user下的views.py中加入下面内容
from django.http import HttpResponse
# 处理登陆
def login_view(request):
# 接受表达请求参数
name = request.GET.get('name', '')
pwd = request.GET.get('pwd', '')
# 判断
if name == 'zhangsan' and pwd == '123':
return HttpResponse('登陆成功!')
return HttpResponse('登陆失败!')
使用get请求判断用户名为张三,密码为123时登陆成功,返回登录成功!,否者返回登录失败!。
现在访问 http://127.0.0.1:8000/user/ 输入zhangsan和123,检查是否成功。