zoukankan      html  css  js  c++  java
  • 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>
    

      

    输出效果

  • 相关阅读:
    IOSUITextField类
    IOSUITableView设置背景图片,方式与众不同。
    IOS图标知识详情(转载自http://luoyl.info/blog/2012/03/iphoneipadicons/)
    IOSCreate UIActionSheet 'otherButtons' by passing in array
    Offset文件名(绝对偏移量)
    单例模式(Singleton)Holder
    在 spring 中一共定义了七种事务传播属性
    UML,各种关系合集
    Java,线程池,ThreadPoolExecutor
    EasyMock
  • 原文地址:https://www.cnblogs.com/pythonxiaohu/p/5805069.html
Copyright © 2011-2022 走看看