• django-表单之创建表单(一)


    1.在book app目录下新建一个forms.py,并加入

    from django import forms
    
    class RegisterForms(forms.Form):
        # test=forms.Field(required=False,label='测试用',initial='请输入用户名',help_text='请输入用户名',
        # label_suffix='>>>')
        choices={
            (1,'male'),(2,'female'),(3,'secret')
        }
        formats=[
            '%Y-%m-%d',
            '%m/%d/%Y',
        ]
        year_list=[
            1990,1991,1995,2001
        ]
        username=forms.CharField(min_length=4,max_length=10,label='用户名',
                                 widget=forms.TextInput(attrs={'class':'custom-forms'}))
        password=forms.CharField(widget=forms.PasswordInput(attrs={'class':'custom-forms'}),min_length=4,max_length=8,label='输入密码')
        repassword=forms.CharField(widget=forms.PasswordInput(attrs={'class':'custom-forms'}),min_length=4,max_length=8,label='确认密码')
        age=forms.IntegerField(widget=forms.NumberInput(attrs={'class':'custom-forms'}),label='年龄',min_value=18,max_value=120)
        gender=forms.MultipleChoiceField(choices=choices,label='性别',widget=forms.CheckboxSelectMultiple,initial=1)
        email=forms.EmailField(widget=forms.EmailInput(attrs={'class':'custom-forms'}),label='邮箱')
        phone=forms.CharField(widget=forms.TextInput(attrs={'class':'custom-forms'}),max_length=11,label='电话')
        birthday=forms.DateField(label='出生日期',widget=forms.SelectDateWidget(years=year_list))
        introduce=forms.CharField(widget=forms.Textarea(attrs={'class':'custom-forms'}),label='自我介绍')

    urls.py配置路径:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('',views.index,name="index"),
        path('register/',views.IndexForms.as_view(),name='register')
    ]

    views.py中配置视图:

    from django.http import HttpResponse
    from django.shortcuts import render,redirect,reverse
    from django.urls import resolve
    
    from django.views import View
    from .forms import RegisterForms
    
    class IndexForms(View):
        def get(self,request):
            forms =RegisterForms()
            return render(request,'index.html',{'forms':forms})
        def post(self,request):
            forms =RegisterForms(request.POST)
            if forms.is_valid():
                birthday=forms.cleaned_data.get('birthday')
                return render(request,'home.html',{'birthday':birthday})
            else:
                return HttpResponse('Sorry')

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>{{title}}</title>
        <link rel="stylesheet" href={% static 'css/index.css' %}>
    </head>
    <body>
        <div class="content">
            <form action="" method="post">
                <table>
                    <!--as_p,as_ul-->
                    {{forms.as_table}}
                    <tr>
                        <td><input type="submit" value="submit" name="submit"></td>
                    </tr>
                </table>
            </form>
        </div>
    
    </body>
    </html>

    具体页面:

    我们只测试接受birthday:注意输入的日期格式。

  • 相关阅读:
    喜大普奔,微软Microsoft JDBC Driver For SQL Server已发布到maven中央仓库
    maven jdbc 驱动安装
    SpringIoC和SpringMVC的快速入门
    再见 Spring Boot 1.X ,Spring Boot 2.X 走向舞台中心
    LRU设计
    二叉搜索树转换成双向链表
    快速排序
    二叉搜索树的先序中序后序非递归遍历代码
    EM算法
    模型调优
  • 原文地址:https://www.cnblogs.com/xiximayou/p/11759978.html
Copyright © 2020-2023  润新知