• Django form


    简单的from验证

    文件目录结构

    urls.py

    from app1.views import account
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^index/',account.index),
    ]
    

      

    settings.py

    STATICFILES_DIRS =(
        os.path.join(BASE_DIR,'static')
    )
    ##配置静态路由
    

      

     forms.py

    from django import forms
    from app1 import models
    
    class Form1(forms.Form):
        user =forms.CharField(
            # widget 自定义froms属性
            widget=forms.TextInput(attrs={'class':'c1'}),
            error_messages={'required':'用户名不可以为空'},
        )
        # max_length最长多少位,min_length最少多少位
        pwd =forms.CharField(max_length=4,min_length=2)
        # error_messages 错误信息      required 审核是否为空   invalid 格式是否正确
        email =forms.EmailField(error_messages={'required':'邮件不可以为空',
                                               'invalid':'邮箱格式错误',
                                                })
        memo =forms.CharField(
            # Textarea文本下拉框
            widget=forms.Textarea()
        )
    
        user_type_choice=(
            (0,'人体学'),
            (1,'高级科技学'),
        )
        # user_type_choice = models.BookType.objects.values_list('id', 'caption')  ##从数据库取数据
    
        book_type =forms.CharField(
            widget=forms.widgets.Select(choices=user_type_choice,
                                        attrs={'class':"form-control"}))
        #     Select 下拉框属性  choices 选择的东西    ,attrs获取属性
    

      

    views.account.py

    from django.shortcuts import render
    
    # Create your views here.
    from app1.forms import Form1
    
    def index(request):
        if request.method=='POST':
            f =Form1(request.POST)##判断用户输入的是否合法
            if f.is_valid():##如果用户输入的合法
                print(f.cleaned_data)
            # cleaned_data中字段值是个model实例字典。
    
            else:##不合法
                print('&&&&&&&&&&&*********',f,'$$$$$$$$$$#########')
                return render(request,'account/form1.html',{'error':f.errors,'form':f})
    
        else:
            f =Form1() ##空值,
            return render(request,'account/form1.html',{'error':f.errors,'form':f})
    F 里面输出 &&&&&&&&&&&********* <tr><th><label for="id_user">User:</label></th><td><ul class="errorlist"><li>用户名不可以为空</li></ul><input class="c1" id="id_user" name="user" type="text" required /></td></tr> <tr><th><label for="id_pwd">Pwd:</label></th><td><ul class="errorlist"><li>This field is required.</li></ul><input id="id_pwd" maxlength="4" minlength="2" name="pwd" type="text" required /></td></tr> <tr><th><label for="id_email">Email:</label></th><td><ul class="errorlist"><li>邮件不可以为空</li></ul><input id="id_email" name="email" type="email" required /></td></tr> <tr><th><label for="id_memo">Memo:</label></th><td><ul class="errorlist"><li>This field is required.</li></ul><textarea cols="40" id="id_memo" name="memo" rows="10" required> </textarea></td></tr> <tr><th><label for="id_book_type">Book type:</label></th><td><select class="form-control" id="id_book_type" name="book_type" required> <option value="0" selected="selected">人体学</option> <option value="1">高级科技学</option> </select></td></tr> $$$$$$$$$$#########

      

     form1.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form action="/index/" method="post">
            <div class="inline-group">
                {{ form.user }}
    {# form.user用户,error.user.0 判断有没有error信息     #}
                {% if error.user.0 %}
                    <span>{{ error.user.0 }}</span>
                {% endif %}
            </div>
            <div class="inline-group">
                {{ form.pwd }}
                {% if error.pwd.0 %}
                    <span>{{ error.pwd.0 }}</span>
                {% endif %}
            </div>
            <div class="inline-group">
                {{ form.email }}
                {% if error.email.0 %}
                    <span>{{ error.email.0 }}</span>
                {% endif %}
            </div>
            <div class="inline-group">
                {{ form.memo }}
                {% if error.memo.0 %}
                    <span>{{ error.memo.0 }}</span>
                {% endif %}
            </div>
            <div class="inline-group">
                {{ form.book_type }}
                {% if error.book_type.0 %}
                    <span>{{ error.book_type.0 }}</span>
                {% endif %}
            </div>
            <div>
                <input type="submit" value="提交">
            </div>
    
    
        </form>
    
    </body>
    </html>
    

      

    输出效果

  • 相关阅读:
    http://rpm.pbone.net/
    Linux基础知识之 系统启动流程
    欧几里得算法及其扩展
    组合数相关
    poj2689 Prime Distance(思维+筛素数)
    一本通1624樱花(数学+唯一分解定理)
    CF33C Wonderful Randomized Sum(贪心+思维)
    HNOI 2008越狱(组合数学(乘法原理)+快速幂)
    唯一分解定理
    UVa 11827 Maximum GCD(gcd+读入技巧)
  • 原文地址:https://www.cnblogs.com/pythonxiaohu/p/5805069.html
Copyright © 2020-2023  润新知