如何搭建登录页面?
用Django实现,步骤如下:
步骤0:在templates文件夹创建login.html文件:
里面的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<!--
{# <link rel="stylesheet" href="/abc/bootstrap-3.3.7-dist/css/bootstrap.min.css">#}
{# <script src = "/abc/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>#}
{# 一种是相对路径---../,一种是绝对路径#}
-->
{% load static %}
<link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">
<scrip src = "{ % static 'bootstrap-3.3.7-dist/js' % }"></scrip>
</head>
<body>
<div class = "container">
<div class = "row">
<div class = "col-md-8 col-md-offset-2">
<h2 class = "text-center">登录</h2>
<form action="" method = "GET">
<p>username: <input type="text" name="username" class = "form-control"></p>
<p>reusername: <input type="text" name="username" class = "form-control"></p>
<p>password: <input type="text" name = "password" class = "form-control"></p>
<p>repassword: <input type="text" name = "password" class = "form-control"></p>
<input type="submit" class = "btn btn-success pull-left">
</form>
</div>
</div>
</div>
</body>
</html>
步骤1:设置urls.py文件,代码如下:
from django.conf.urls import url
from django.contrib import admin
from login import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r"^login/",views.login),
]
注意在settings.py设置:
步骤2:在views.py做如下设置:
细节:按序号一步一步来操作!
(0)注释操作
(1)如何获取GET请求信息?
当框框中的methond = "GET"时,获取的信息就是GET请求的信息,代码如下:
from django.shortcuts import render,HttpResponse,redirect
# Create your views here.
def login(request):
username = request.GET.get("username")
password = request.GET.get("password")
#如何获取GET请求的数据呢?在login.html里的method里改一下方法
print(request.GET)
print(request.GET.get("username"),type(request.GET.get("username")))
print(request.GET.getlist("username"),type(request.GET.getlist("username")))
"""
<QueryDict: {'username': ['yjg', 'admin'], 'password': ['111', '999']}>
admin <class 'str'>获取最后一个元素
['yjg', 'admin'] <class 'list'>获取整个列表
"""
return render(request,"login.html")
(2)如何获取POST请求信息?
当框框中的methond = "POST"时,获取的信息就是POST请求的信息,代码如下:
from django.shortcuts import render,HttpResponse,redirect
# Create your views here.
def login(request):
if request.method == "POST":
# print(request.POST)
#<QueryDict: {'username': ['yjg', 'admin'], 'password': ['111', '666']}>POST请求的结果
username = request.POST.get("username")
password = request.POST.get("password")
print(f"{username}-{type(username)}\n{password}-{type(password)}")
"""
POST请求的get方式获取的结果:
admin-<class 'str'>获取列表的最后一个元素
111-<class 'str'>获取列表的最后一个元素
"""
username1 = request.POST.getlist("username")
password1 = request.POST.getlist("password")
print(f"{username1}-{type(username1)}\n{password1}-{type(password1)}")
"""
POST请求的getlist方式获取的结果:
['yjg', 'admin']-<class 'list'>获取整个列表
['666', '111']-<class 'list'>获取整个列表
"""
return HttpResponse("收到了")
# print(request.GET)
# <QueryDict: {}>GET请求的结果
return render(request,"login.html")
最终效果图: