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-表单之获取表单信息(二)的更多相关文章

  1. Python学习---Django的request扩展[获取用户设备信息]

    关于Django的request扩展[获取用户设备信息] settings.py INSTALLED_APPS = [ ... 'app01', # 注册app ] STATICFILES_DIRS ...

  2. Oracle,Mysql 获取用户下所有表名,获取表所有的列名及数据类型

    Mysql 下面是mysql获取数据库所有表的语句 select table_name from information_schema.TABLES where TABLE_SCHEMA='Usern ...

  3. django获取表单数据

    django获取单表数据的三种方式 v1 = models.Business.objects.all() # v1是QuerySet的列表 ,内部元素都是对象 v2 = models.Business ...

  4. Django学习笔记(7)——单表操作和多表操作

    单表操作 1,创建模型 创建名为book的APP,在book下的models.py中创建模型: from django.db import models # Create your models he ...

  5. django系列5.2--ORM数据库的单表操作

    单表操作 在views.py中添加对数据库的操作语句 #在逻辑代码中导入你要操作的表 from app import models def add_book(request): ''' 添加表记录 : ...

  6. Django - 请求与响应、表单、中间件、上下文处理器

    请求与响应篇 一.HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象.视图函数的第一个参数(request)是HttpRequest对象在djang ...

  7. Django——11 状态保持 form表单 登陆注册样例

    Django 状态保持 用户状态例子 实现注册登陆实例 django forms 表单的使用 注册功能 登陆功能   状态保持cookie和session 1.http协议是无状态的:每次请求都是一次 ...

  8. django基础之day09,创建一个forms表单组件进行表单校验,知识点:error_messages,label,required,invalid,局部钩子函数,全局钩子函数, forms_obj.cleaned_data,forms_obj.errors,locals(), {{ forms.label }}:{{ forms }},{{ forms.errors.0 }}

    利用forms表单组件进行表单校验,完成用户名,密码,确认密码,邮箱功能的校验 该作业包含了下面的知识点: error_messages,label,required,invalid,局部钩子函数,全 ...

  9. 第四章:Django表单 - 1:使用表单

    假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="po ...

随机推荐

  1. 死磕 java同步系列之Phaser源码解析

    问题 (1)Phaser是什么? (2)Phaser具有哪些特性? (3)Phaser相对于CyclicBarrier和CountDownLatch的优势? 简介 Phaser,翻译为阶段,它适用于这 ...

  2. windows下tomcat启动日志乱码

    在windows下用startup.bat启动时,控制台里显示乱码,如图: 解决方案: 修改conf文件下的logging.properties文件,将控制台输出的编码修改为GBK: java.uti ...

  3. mybatis list条件判断

    <if test="userIds != null and userIds.size > 0"> AND user_id in <foreach colle ...

  4. MYSQL-用户密码修改

    解决方法如下:1.终端中结束当前正在运行的mysql进程.# sudo /etc/init.d/mysql stop2.用mysql安全模式运行并跳过权限验证.# sudo /usr/bin/mysq ...

  5. Windows定时备份Mysql数据库

    1.新建批处理文件bat(随意命名:如auto_backup_mysql_data.bat) 2.在批处理文件里添加如下命令 %1 mshta vbscript:createobject(" ...

  6. Scala 学习笔记之函数(2)

    class OldStudent extends Student { def filterName(s: String, f: String => String) = { if (s != nu ...

  7. 安装vant2.2.7版本报错These dependencies were not found: vant/es/goods-action-big-btn in ./src/config/vant.config.js......

    一.问题 前天,在使用vant的checkbox复选框的时候,注意到新增加一个全选功能,通过 ref 可以获取到 CheckboxGroup 实例并调用实例方法.于是我就想用这个,但是按照上面的示例写 ...

  8. Python函数参数与参数解构

    1 Python中的函数 函数,从数学的角度来讲是,输入一个参数,经过一个表达式的处理后得到一个结果的输出,即就是x-->y的一个映射.同样,在Python或者任何编程语言中,函数其实就是实现一 ...

  9. POJ-2083 Fractal-X星阵图

    Description A fractal is an object or quantity that displays self-similarity, in a somewhat technica ...

  10. 利用Echarts实现全国各个省份数据占比,图形为中国地图

    最近项目需求,需要一个对于全国各个省份的数据分析,图形最好是地图的样子,这样子更为直观. 最先想到的图表插件是Echarts,他的文档相对于阿里的G2,G6更加清晰一些.在Echarts 里找到的个 ...