Django--form保存用户输入内容
2024-09-04 14:34:04
需求
用户提交form时,如果报错,页面中的用户信息还在(除了密码),没有被刷新掉,不用用户再次输入。
速查
views.py
1
2
3
|
def login(request): obj = django表单生成文件.类(request.POST) #创建form实例化,request.POST默认=空 return render(request, '请求的html' ,{ 'obj' :obj}) |
知识点
request.POST默认=空
html中form提交method="post"是小写,Django中request.method判断时候"POST"是大写,因为Django自己调用了uper方法。
报错刷新页面时,实例化的form表单中应该有数据,即request.POST
详细
1、准备一个Django-form登录框
path
request.POST默认=空
html中form提交method="post"是小写,Django中request.method判断时候"POST"是大写,因为Django自己调用了uper方法。
报错刷新页面时,实例化的form表单中应该有数据,即request.POST
1、准备一个Django-form登录框
path
templates/login.html
1
2
3
4
5
|
< form action = "/login/" method = "post" > < p >{{ obj.username }}</ p > < p >{{ obj.password }}</ p > < input type = "submit" value = "submit" /> </ form > |
app01/forms/account.py
1
2
3
4
5
|
from django import forms class LoginForm(forms.Form): username = forms.CharField() password = forms.CharField(widget = forms.PasswordInput()) |
app01/views/account.py
1
2
3
4
5
|
from app01.forms import account as AccountForm def login(request): obj = AccountForm.LoginForm() return render(request, 'account/login.html' ,{ 'obj' :obj}) |
2、进一步演化
请求发送后,form表单中有了提交的所有数据,如果报错,会把所有提交的信息返回原来的页面中,不用再次输入。
app01/views/account.py
1
2
3
4
5
6
|
def login(request): if request.method = = 'POST' : input_obj = AccountForm.LoginForm(request.POST) return render(request, 'account/login.html' ,{ 'obj' :input_obj}) obj = AccountForm.LoginForm() return render(request, 'account/login.html' ,{ 'obj' :obj}) |
3、代码简化
默认request.POST为空,当提交请求时,obj中就带了提交的信息,返回页面。
app01/views/account.py
1
2
3
4
5
|
def login(request): obj = AccountForm.LoginForm(request.POST) if request.method = = 'POST' : return render(request, 'account/login.html' ,{ 'obj' :obj}) return render(request, 'account/login.html' ,{ 'obj' :obj}) |
最新文章
- BroadcoastReceiver之短信到来监听和获取内容
- Java中的public、protected、default和private的区别
- 虚拟机中Linux安装Tools
- (转)函数中使用 ajax 异步 同步 返回值错误 主函数显示返回值总是undefined -- ajax使用总结
- web安全记录
- 学习PS必须弄懂的专业术语
- 【转】[Mysql] Linux Mysql 日志专题
- [高并发]EntityFramework之高性能扩展
- easyui Datagrid 表格高度计算及自适应页面的实现
- HTTP/1.1 请求方法
- chrome新版打开新标签页自动打开谷歌主页
- Oracle 表空间的概念
- spark 数据读取与保存
- SpringBoot08 请求方式、参数获取注解、参数验证、前后台属性名不一致问题、自定义参数验证注解、BeanUtils的使用
- The confusion about jsp four scopes and ServletContext,HttpSession,HttpServletReqest,PageContext
- PyQt4简单的窗口程序
- C#语法之Linq查询基础二
- MVC中学到的小知识(MVC中的跳转,传参)
- PHP qrcode 生成二维码
- springmvc+jsp引用本地图片文件