使用Form表单向远处的网页提交信息代码__Cookie方式

1.HTML页面

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .error_list{
            font-size: 12px;
            color: red;
        }


    </style>
</head>
<body>
    <h1>你好请登录</h1>
    <form action="/web/login/" method="POST">
        <div>
            用户名<input type="text" name="username">
        </div>
        <div>
            密码<input type="password" name="pawd">
        </div>
        <div>
            手机<input type="text" name="phone">
        </div>
        <div>
            数字<input type="text" name="number">
        </div>


        <input type="submit" value="提交">


    </form>




</body>
</html>


2.HTML 主页


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>登录成功页面</title>
</head>
<body>
    <h1>欢迎{{ user }}登录</h1>
</body>
</html>


3.from django.shortcuts import render
from django import  forms
from django.core.exceptions import ValidationError
from django.shortcuts import redirect
# Create your views here.
import  json
import re
def phone_valid(value):
    type=re.compile("^(13[0-9]|15[0-9]|17[79]|18[0-9])[0-9]{8}$")
    if not type.match(value):
        raise ValidationError




class LoginForm(forms.Form):
    username=forms.CharField(required=True,error_messages={"required":"用户名不能为空"})
    pawd=forms.CharField(required=True,
                         min_length=6,max_length=16,
                         error_messages={"required":"密码不能为空","min_length":"最小位数不能小于6位",
                                         "max_length":"最大位数不能超过16位"})
    phone=forms.CharField(required=True,
                          max_length=11,
                          min_length=11,
                          validators=[phone_valid,],
                          error_messages={"required":"用户名不能为空","max_length":"手机号码不能超过11位","min_length":"手机号码不能低于11位"})
    number=forms.IntegerField(error_messages={"invalid":"非法数字请重新填写"})


def login(requests):
    if requests.POST:
        obj=LoginForm(requests.POST)
        ret=obj.is_valid()
        if ret:
            print(obj.clean())
            user=obj.clean()["username"]
            result=redirect("/web/index/")#直接跳转到某个页面r
            print(user)
            result.set_cookie('user',user)#然后更改数值
            return result  返回这个需要跳转的新的页面
        else:
            errorlist=obj.errors
            print(errorlist)
            return render(requests,"sessionFormLogin.html")


    else:


        return render(requests,"sessionFormLogin.html")
def index(requests):
    user=requests.COOKIES.get("user",None)
    if user:
        return render(requests,"sessionIndex.html",{"user":user})
    else:
        return render(requests,"session_login.html")


版权声明:本文为douyunqian668原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。