Django--form保存用户输入内容
需求
用户提交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 formsclass 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 AccountFormdef 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}) |
Django--form保存用户输入内容的更多相关文章
- js打印保存用户输入的内容
在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: // ...
- 不让input表单的输入框保存用户输入的历史记录
如何不让input表单的输入框保存用户输入的历史记录. 有时我们在设计网页时不想让表单保存用户输入历史记录,比如一些隐私数据,或一些冲值卡 <input name="test&quo ...
- 微信小程序 获得用户输入内容
在微信小程序里,如何获得用户输入的内容?? js: document.getElementById("Content").value jq:$("#Content&quo ...
- Django学习系列10:保存用户输入——编写表单,发送POST请求
要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看. 上次运行测试指出无法保存用户的输入.现在,要使用HTML post请求. 若想让浏览器发送POST请求 ...
- 防御XSS攻击-encode用户输入内容的重要性
一.开场先科普下XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶 ...
- c++之 scanf 接收用户输入内容
该代码全部在Visual Studio 2015中编写,有关VS2015的安装后期在写相关的博客 scanf 介绍 在程序开发中,有时候需要通过获取用户输入的数据,进行对应的操作,scanf就是用来接 ...
- 用户输入内容转换成Pig Latin形式。
//(单词的第一个元音字母之前的一道单词后面,以"ay"结尾,英语单词首字母为元音字母或者没有元音字母的以“ay”为后缀.)package toPigLatin; import j ...
- 5.django笔记之form保存表单信息,动态select
作者:刘耀 一.使用form保存用户输入过的信息 场景:例如 如果用户注册,那么他输入n多个表单之后,那么他提交是时候,如果错误返回的时候,那么需要重新再输入表单内容.这样会影响用户体验,所以,使用f ...
- infopath重复表格无法保存输入内容
现象: infopath重复表格无法保存文本输入内容,可以保存日期控件输入内容 原因: 在重复表中添加格式类型规则导致无法保存.
随机推荐
- bzoj 1500 维修序列
Written with StackEdit. Description 请写一个程序,要求维护一个数列,支持以下 \(6\) 种操作: 请注意,格式栏 中的下划线' _ '表示实际输入文件中的空格 I ...
- UIImage+PYJAnimatedGIF
UIImage+PYJAnimatedGIF.h: #import <UIKit/UIKit.h> @interface UIImage (PYJAnimatedGIF) + (UIIma ...
- WPF 自定义DateControl DateTime控件(转)
自定义日期控件,月份选择.如下是日期的一些效果图. 具体的样式.颜色可以根据下面的代码,自己调节即可 1.日期控件的界面 <UserControl x:Class="WpfApp ...
- jq添加和移除事件的方法,prop和attr
会在写条件判断的时候遇到,今天在判断没有剩余产品的时候,移除事件.当有产品的时候添加事件: 移除onClick事件: $("a").removeAttr("onclick ...
- 关于Homebrew出现GitHub API rate limit错误的解决方法
参考博文: http://havee.me/mac/2013-12/how-to-install-and-use-homebrew.html Error: GitHub API rate limit ...
- classpath和环境变量设置
一.简介: 环境变量是操作系统.应用程序.脚本程序等等的指明灯,能够告诉他们需要的资源在哪里.大多数的 系统都有一些预先设置好的环境变量,当然,我们也可以增加自己的环境变量. 为了看看当前系统的环境变 ...
- webservice有关application/xop+xml的异常
今天同事调用一个webservice时返回类似错误 响应消息的内容类型 multipart/related; type="application/xop+xml"; boundar ...
- java.控制次数,每一组数都要计算。所以有个嵌套
总结:数组内的数据要循环,外面的次数也要循环 package com.aini; import java.util.Scanner; //要求可以控制输入的次数,比如4次.则输入5个数,5组输出结果 ...
- PHP5.6 安装Yaf 2.3.5
Yaf 安装 PHP5.6 安装Yaf 2.3.5 1.下载 https://github.com/laruence/yaf 2.phpize /usr/bin/phpize 3.配置 ./confi ...
- XML注释与Description标签及Java:注解(Annotation)的关系
NET中的规范标准注释(一) -- XML注释标签讲解 一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来 ...