首页 > 其他 > 详细

django-表单之获取表单信息(二)

时间:2019-10-29 20:17:05      阅读:106      评论:0      收藏:0      [点我收藏+]

urls.py

from django.urls import path
from . import views


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

forms.py

from django import forms

class RegisterForms(forms.Form):
    # test=forms.Field(required=False,label=‘测试用‘,initial=‘请输入用户名‘,help_text=‘请输入用户名‘,
    # label_suffix=‘>>>‘)
    choices={
        (1,),(2,),(3,保密)
    }
    hobbies=[(1,足球),(2,篮球),(3,读书)]
    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.ChoiceField(choices=choices,label=性别,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=‘电话‘)
    hobby = forms.MultipleChoiceField(label=爱好, choices=hobbies, widget=forms.CheckboxSelectMultiple)
    birthday=forms.DateField(label=出生日期,input_formats=formats)
    introduce=forms.CharField(widget=forms.Textarea(attrs={class:custom-forms}),label=自我介绍)

views.py

from .forms import RegisterForms
from django.views import View
from django.http import HttpResponse
from django.shortcuts import render
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(): username=forms.cleaned_data.get(username) password = forms.cleaned_data.get(password) repassword = forms.cleaned_data.get(repassword) age = forms.cleaned_data.get(age) gender = forms.cleaned_data.get(gender) hobby = forms.cleaned_data.get(hobby) birthday = forms.cleaned_data.get(birthday) introduce = forms.cleaned_data.get(introduce) # print([username,password,repassword,birthday,age,gender,hobby,introduce]) context={ datalist:{ username:username, password:password, repassword:repassword, age: age, gender: gender, hobby: hobby, birthday:birthday, introduce:introduce, } } return render(request,home.html,context=context) 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">
        <!--<h1>这是主界面</h1>-->
        <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>
        <!--{% block content %}-->
        <!--{% endblock %}-->
    </div>
</body>
</html>

home.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    {% for k,v in datalist.items%}
    <h1>{{k}}---{{v}}</h1>
    {% endfor %}
</body>
</html>

index界面:
技术分享图片

 

 输入相应信息,点击提交,信息会传到home界面,并显示

技术分享图片

 

django-表单之获取表单信息(二)

原文:https://www.cnblogs.com/xiximayou/p/11761054.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!