前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django-表单之创建表单(一)

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

作者头像
西西嘛呦
发布2020-08-26 10:49:35
1.2K0
发布2020-08-26 10:49:35
举报

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

代码语言:javascript
复制
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配置路径:

代码语言:javascript
复制
from django.urls import path
from . import views

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

views.py中配置视图:

代码语言:javascript
复制
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

代码语言:javascript
复制
<!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:注意输入的日期格式。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档