如何搭建登录页面?

如何搭建登录页面?
用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")

最终效果图:
在这里插入图片描述

发布了478 篇原创文章 · 获赞 673 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/YJG7D314/article/details/103837203