Django学习笔记 03


中间件

from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import HttpResponse

# 三个常见  控制请求,统计访问地址,IP等等
class M2(MiddlewareMixin):
    #请求数据
    def process_request(self,request):
        print('m2.process_request')

    #返回数据
    def process_response(self,request,response):
        print('m2.process_response')
        return response
    #错误信息
    def process_exception(self, request, exception):
        print('m2.process_exception')
        return HttpResponse('错误了...')

在 setting MIDDLEWARE 导入

Form

1.

from django.shortcuts import render,HttpResponse


# Create your views here.
def index(request):

    return HttpResponse('首页')


from django.forms import Form, fields
class LoginForm(Form):
    user = fields.CharField(
        max_length=18,
        min_length=6,
        required=True,
        error_messages={
            'required':'用户名不能为空',
            'max_length': '用户名不超过18位空',
            'min_length': '用户名不小于6位',
        }
    )

    pswd = fields.CharField(
        min_length=6,required=True
    )


# 登录验证
def login(request):
    if request.method == "GET":
        return render(request,'app/login.html')
    else:
        obj = LoginForm(request.POST)
        # print(obj)
        # print(obj.is_valid())
        # print(obj.changed_data)

        if obj.is_valid():
            return HttpResponse('验证OK')
        else:

            # print(obj.errors['user'][0])

            return render(request,'app/login.html',{'obj':obj})

2.

from django.forms import Form, fields
from django.shortcuts import render,HttpResponse

# Create your views here.

class LoginForm(Form):
    user = fields.CharField(

        label='用户名',
        disabled=False,
        label_suffix='lable后缀',
        initial='默认值',
        help_text='帮助信息',
        max_length=20,
        min_length=10,
        required=True,
        error_messages={
            'max_length' :'最大20',
            'min_length': '最小3',
            'required': '不为空',
        }
    )



def login(request):

    if request.method == "GET":
        obj = LoginForm()
        return render(request,'Fform/login.html',{'obj':obj})
    else:
        obj = LoginForm(request.POST)

        return render(request,'Fform/login.html',{'obj':obj})

def login2(request):

    if request.method == "GET":
        obj = LoginForm()
        return render(request,'Fform/logins.html',{'obj':obj})
    else:
        obj = LoginForm(request.POST)

        return render(request,'Fform/logins.html',{'obj':obj})

login.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

<form action="/s/login/" method="post" novalidate>
    {% csrf_token %}
    {{ obj.as_p }}
    <input type="submit">
</form>
</body>
</html>

logins.html

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

<form action="/s/2/" method="post" novalidate>
 {% csrf_token %}
    {{ obj.user }}{{ obj.errors.user.0 }}
    <input type="submit">
</form>
</body>
</html>


附件:  wu03.zip   
---------------------
作者:前世的我
来源:前世的我
原文:http://www.w55.site/blog/article/look/id/28.html
版权声明:本文为博主原创文章,转载请附上博文链接!