zoukankan      html  css  js  c++  java
  • Pyhton学习——Day58

    From表单验证

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form id="fm" action="/f1.html" method="POST">
             <p>{{ obj.user }}{{ obj.errors.user.0 }}</p>
             <p>{{ obj.pwd }}{{ obj.errors.pwd.0 }}</p>
             <p>{{ obj.age }}{{ obj.errors.age.0 }}</p>
             <p>{{ obj.email }}{{ obj.errors.email.0 }}</p>
             <p><input type="submit" value="提交"/></p>
             <p><input type="button" value="Ajax提交" onclick="submitAjaxForm();"/></p>
        </form>
        <script src="/static/jquery-3.1.1.js"></script>
        <script>
            function submitAjaxForm() {
                $.ajax({
                    url:'/f1.html',
                    type:'POST',
                    data:$('#fm').serialize(),
                    success:function (arg) {
                        console.log(arg);
                    }
    
                })
            }
        </script>
    </body>
    </html>
    HTML看我
    
    
    from django.shortcuts import render,HttpResponse,redirect
    from django import forms
    from django.forms import fields
    # Create your views here.
    class F1Form(forms.Form):
        user = fields.CharField(max_length=18,
                                min_length=6,
                                required=True,
                                error_messages={
                                    'required':'用户名不能为空',
                                })
        pwd = fields.CharField(min_length=32, required=True)
        age = fields.IntegerField(
            required=True,
            error_messages={
                'invalid':'必须为数字格式',
                'required':'年龄不能为空'
            }
        )
        email = fields.EmailField(
            required=True,
            error_messages={
                'invalid':'必须为邮件格式,带@的那种',
                'required': '邮箱不能为空'
            }
        )
    
    
    
    
    def f1(request):
        if request.method =='GET':
            obj = F1Form()
            return render(request,'f1.html',{'obj':obj})
        else:
            # u = request.POST.get('user') #不能为空,长度6-18
            # p = request.POST.get('pwd')  #不能为空
            # e = request.POST.get('email') #邮箱格式
            # a = request.POST.get('age') #不能为空,必须为数字类型
            #
            # #1.检查是否为空
            # #2.检查格式是否正确
            # print(u,p,e,a)
            obj = F1Form(request.POST)
            #是否验证成功
            if obj.is_valid():
                #已经验证过的数据
                print('验证成功',obj.cleaned_data)
                return redirect('http://www.baidu.com')
            else:
                print('验证失败',obj.errors)
            return render(request,'f1.html',{'obj':obj})
    Views看我
    """day58 URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/2.0/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
    """
    from django.contrib import admin
    from django.urls import path
    from django.conf.urls import url
    from app01 import views
    from app02 import views as v2
    urlpatterns = [
        path('admin/', admin.site.urls),
        url(r'^index.html$',views.index),
        url(r'^index1.html$', views.index1),
        url(r'^f1.html$', v2.f1),
    ]
    Win a contest, win a challenge
  • 相关阅读:
    Coursera机器学习week11 单元测试
    关于 TypeReference 的解释
    getModifiers 方法解释。
    instanceof isInstance isAssignableFrom 比较
    elasticsearch 基础 语法总结
    kibana 启动 关闭 和进程查找
    MD5 SHA1 SHA256 SHA512 SHA1WithRSA 的区别
    spring boot 项目 热启动
    java zip 压缩文件
    Packet for query is too large (1660 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/8899566.html
Copyright © 2011-2022 走看看