参考

参考: django实现内容不清空2种方法

django form的作用

1、生成html标签

2、验证输入内容

form生成表单

zhuji/forms.py

- 实例化表单
- 定制form错误信息
- 定制表单类型 from django import forms class UserInfo(forms.Form):
user_type_choice = (
(0, u'普通用户'),
(1, u'高级用户'),
)
user_type = forms.IntegerField(widget=forms.widgets.Select(choices=user_type_choice,
attrs={'class': "form-control"}))
email = forms.EmailField(error_messages={'required': "邮箱不能为空"})
host = forms.CharField(error_messages={'required': "主机不能为空"})
port = forms.CharField(error_messages={'required': "端口不能为空"},
widget=forms.TextInput(attrs={'class': "form-control", 'placeholder': "端口"})
)
mobile = forms.CharField(error_messages={'required': "手机不能为空"},
widget=forms.Textarea(attrs={'class': "form-control", 'placeholder': "手机号码"})
)

zhuji/views.py

from zhuji.forms import UserInfo

def user_list(request):
obj = UserInfo()
if request.method == "POST":
user_input_obj = UserInfo(request.POST) #实例化form表单
if user_input_obj.is_valid():#form验证通过
data = user_input_obj.clean()#前端表单获取成一个dict hostname = data['host']#取出host字段
print(data)
print(hostname)
else:
error_msg = user_input_obj.errors
return render(request, "user_list.html", {'obj': user_input_obj, 'errors': error_msg})#错误信息返回
return render(request, 'user_list.html', {'obj': obj})

templates/user_list.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>user_list</title>
</head>
<body>
<div>
<form action="/user_list/" method="post">
<p>用户类型: {{ obj.user_type }} <span>{{ errors.user_type }}</span></p>
<p>主机: {{ obj.host }} <span>{{ errors.host }}</span></p>
<p>邮箱: {{ obj.email }} <span>{{ errors.email }}</span></p>
<p>端口: {{ obj.port }} <span>{{ errors.port }}</span></p>
<p>手机: {{ obj.mobile }} <span>{{ errors.mobile }}</span></p>
<p><input type="submit"></p>
{% csrf_token %}
</form>
</div>
</body>
</html>

[py]django表单不清空实现的2种方法的更多相关文章

  1. form表单上传附件的几种方法

    问题描述:在网页开发过程中,当需要上传附件(图片,音频,视频等)时,常规方法是使用form表单进行提交,这里总结一下form表单提交的几种方法. 参考地址:http://www.cnblogs.com ...

  2. ionic获取表单input的值的两种方法

    1.参数传递法 直接在input处使用 #定义参数的name值,注意在ts中参数的类型 html页面: <ion-input type="text" placeholder= ...

  3. python 全栈开发,Day111(客户管理之 编辑权限(二),Django表单集合Formset,ORM之limit_choices_to,构造家族结构)

    昨日内容回顾 1. 权限系统的流程? 2. 权限的表有几个? 3. 技术点 中间件 session orm - 去重 - 去空 inclusion_tag filter 有序字典 settings配置 ...

  4. python3之Django表单(一)

    1.HTML中的表单 在HTML种,表单是在<form>...</form>种的元素,它允许用户输入文本,选择选项,操作对象等,然后发送这些数据到服务器 表单元素允许用户在表单 ...

  5. Django表单集合----Formset

    概述:Formset(表单集)是多个表单的集合.Formset在Web开发中应用很普遍,它可以让用户在同一个页面上提交多张表单,一键添加多个数据,比如一个页面上添加多个用户信息,下面将会详细讲述如何使 ...

  6. 关于创建Django表单Forms继承BaseForm的问题

    在创建Django表单时,因为需要验证用户输入的验证码是否正确,因此需要在session里提取当前验证码的值和POST提交过来的值进行比对,如图: form.py from django import ...

  7. Django表单集合Formset的高级用法

    Formset(表单集)是多个表单的集合.Formset在Web开发中应用很普遍,它可以让用户在同一个页面上提交多张表单,一键添加多个数据,比如一个页面上添加多个用户信息.今天小编我就介绍下Djang ...

  8. django表单使用

    一.表单常用字段类型及参数 表单可以自动生成html代码,每一个字段默认有一个html显示样式,大多数默认为输入框. 字段相当于正则表达式的集合,能够对表单传入的数据进行校验,并且某一部分校验失败时会 ...

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

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

随机推荐

  1. ida+windbg调试windows

    jpg 改 pdf https://www.hex-rays.com/products/ida/support/tutorials/debugging_windbg.pdf

  2. ubuntu下升级特定软件与查看软件版本信息

    ubuntu 升级软件: sudo apt-get update 更新源 sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统 ubu ...

  3. Windows server 创建FTP 包括ftp的账号密码设置

    原始文章 : https://blog.csdn.net/missingshirely/article/details/50767043 最近要做个FTP上传资源的工具,以前都是我提供目录,由公司网管 ...

  4. 【大数据系列】安装Ambari

    一.Ambari简介 The Apache Ambari project is aimed at making Hadoop management simpler by developing soft ...

  5. Word 2010 小技巧篇

    1.选择文本的妙招

  6. sencha touch list ListPaging使用详解

    示例代码: Ext.define('app.view.message.List', { alternateClassName: 'messageList', extend: 'Ext.List', x ...

  7. C语言位操作--奇偶校验算法

    信息是以比特流的方式传输的,类似01000001.在传输过程中,有可能会发生错误,比如,我们存储了01000001,但是取出来却是01000000,即低位由0变成了1.为了检测到这种错误,我们可以通过 ...

  8. Docker 容器管理:rancher

    Rancher:https://www.cnrancher.com/ 是一个开源的企业级全栈化容器部署及管理平台. 定位上和 K8s 比较接近,都是通过 web 界面赋予完全的 docker 服务编排 ...

  9. 传真AT指令部分(参考)

    不知道下面的命令是不是通用的,如果有尝试过的师兄给我个回复!! 列出了您的MODEM能理解的传真 AT 命令.每个命令描述包括命令名称.解释和相关参数. 传真命令 命令 描述 +F<comman ...

  10. 【CF633H】Fibonacci-ish II 莫队+线段树

    [CF633H]Fibonacci-ish II 题意:给你一个长度为n的序列$a_i$.m个询问,每个询问形如l,r:将[l,r]中的所有$a_i$排序并去重,设得到的新数列为$b_i$,求$b_1 ...