• python-django-初识Form组件(基本使用)


    Django内置Form组件

    - 对用户请求的验证
    - AJax
    - Form
    - 生成HTML代码

    a. 创建一个类
    b. 类中创建字段(包含正则表达式)
    c. GET
    obj = Fr()
    obj.user = > 自动生成HTML

    d. POST
    obj = Fr(request.POST)
    if obj.is_valid():
    obj.cleaned_data
    else:
    obj.errors
    return .... obj

     

    直接上代码:

    views.py

     1 from django.shortcuts import render
     2 from django.shortcuts import redirect
     3 from django.shortcuts import HttpResponse
     4 
     5 
     6 from django import forms
     7 from django.forms import fields
     8 class F1Form(forms.Form):
     9     user = fields.CharField(
    10         max_length=18,
    11         min_length=6,
    12         required=True,
    13         error_messages={'required': '用户名不能为空','max_length': '太长了','min_length': '太短了','invalid':'..'}
    14     )
    15     pwd = fields.CharField(required=True,min_length=32)
    16     age = fields.IntegerField(
    17         required=True
    18     )
    19     email = fields.EmailField(
    20         required=True,
    21         min_length=8
    22     )
    23 
    24 
    25 def f1(request):
    26     if request.method == 'GET':
    27         obj = F1Form()
    28         #自动生成HTML代码 
    29         return render(request,'f1.html',{'obj':obj})
    30     else:
    31         obj = F1Form(request.POST)
    32         # 是否全部验证成功
    33         if obj.is_valid():
    34             # 用户提交的数据
    35             print('验证成功',obj.cleaned_data)
    36             return redirect('http://www.baidu.com')
    37         else:
    38             print('验证失败',obj.errors)
    39             return render(request, 'f1.html',{'obj':obj})

    f1.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8     <form id="fm" action="/f1.html" method="POST">
     9         <p>{{ obj.user }}{{ obj.errors.user.0 }}</p>
    10         <p>{{ obj.pwd }}{{ obj.errors.pwd.0 }}</p>
    11         <p>{{ obj.age }}{{ obj.errors.age.0 }}</p>
    12         <p>{{ obj.email }}{{ obj.errors.email.0 }}</p>
    13         <input type="submit" value="提交" />
    14     </form>
    15     <script src="/static/jquery-3.1.1.js"></script>
    16 
    17 </body>
    18 </html>
  • 相关阅读:
    Unity游戏开发之AR增强现实技术入门
    python3快速入门
    大数据Hadoop入门到精通 (精品课程)
    JavaScript基础训练营
    我的超级工具
    html5 postMessage 实现类似 sendMessage 的同步效果,支持跨域
    Centos7-驱动小米WIFI做AP
    rz快速上传文件到ssh服务器
    Ansible批量修改root密码
    ArcGIS API for JavaScript 入门教程[0] 目录
  • 原文地址:https://www.cnblogs.com/GodLv/p/9577170.html
Copyright © 2020-2023  润新知