https://www.cnblogs.com/OldJack/p/7118396.html

有时候提交表单后,发现某个字段写错了,但是form的其他字段竟然被清空,这个万万不能接受.所有django的form后端生成form的html,渲染到前端可以解决

1.前端写form的html

2.django的form生成前端form所需的html

forms.html

#!/usr/bin/env python
# coding=utf-8 from django import forms
from django.shortcuts import render class LoginForm(forms.Form):
username = forms.CharField(error_messages={'required': "主机不能为空"})
password = forms.CharField(required=True)

views.py

from django.http import HttpResponse
from django.shortcuts import render from .forms import LoginForm # Create your views here. def login(request):
"表单验证:前端自己写form的html"
if request.method == "GET":
return render(request, "app01/login.html")
else:
login_form = LoginForm(request.POST)
if login_form.is_valid():
username = request.POST.get('username', '')
password = request.POST.get('password', '')
return HttpResponse("%s:%s" % (username, password))
return render(request, "app01/login.html", {'login_form': login_form}) def login2(request):
"表单验证: 后端生成form的html,解决了form不清空问题"
if request.method == "GET":
login_form = LoginForm()
return render(request, "app01/login2.html", {"login_form": login_form})
else:
login_form = LoginForm(request.POST) if login_form.is_valid():
username = request.POST.get('username', '')
password = request.POST.get('password', '')
return HttpResponse("%s:%s" % (username, password))
return render(request, "app01/login2.html", {'login_form': login_form})

浏览器不允许为空,可以打空格(后端form也校验不通过)

[django]form不清空问题解决的更多相关文章

  1. Django(5) session登录注销、csrf及中间件自定义、django Form表单验证(非常好用)

    一.Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie 1.数据库Session 1 2 3 4 5 ...

  2. django: form fileupload - 1

    本节介绍 Form 中一些字段类型的使用,以文件上传字段 FileField 为例:(注,其它字段和相关用法见官方文档中的 Forms -> Built-in Fields) 一,配置 urls ...

  3. django form表单验证

    一. django form表单验证引入 有时时候我们需要使用get,post,put等方式在前台HTML页面提交一些数据到后台处理例 ; <!DOCTYPE html> <html ...

  4. Django form模块使用心得

    最近用Django 写了一个网站,现在来分享一下对Django form 的一些心得. 一,创建一个表单 创建一个Form表单有两种方式: 第一种方式是继承于forms.Form,的一个子类,通过在f ...

  5. Python Web框架篇:Django Form组件

    Form简介 在HTTP中,表单(form标签),是用来提交数据的,其action属性说明了其传输数据的方法:如何传.如何接收. 访问网站时,表单可以实现客户端与服务器之间的通信.例如查询,就用到了表 ...

  6. Django form表单

    Form介绍 之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来.与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入, ...

  7. django Form组件

    django Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建 ...

  8. Django Form和ModelForm组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  9. 9.24 Django Form组件

    2018-9-23 20:10:04 这两天优化了自己图书管理系统 github 连接:https://github.com/TrueNewBee/pythonDemo 顺便整理了博客,写了好多总结, ...

随机推荐

  1. docker 快速搭建Nexus3

    1.拉取镜像 docker pull sonatype/nexus3 2.启动容器 : -p : -p : -v /mnt/gv0/nexus-data:/nexus-data sonatype/ne ...

  2. 【Eclipse】Ubuntu 下菜单栏失效了,怎么办?(已解决)

    如果你的 Ubuntu 的版本是 13.10 , 且你又安装了 Eclipse , 你就会发现 Eclipse 的菜单不起作用了. 就是点击 File , Edit ... 这些菜单,不会显示子菜单了 ...

  3. 题目1208:10进制 VS 2进制(进制转换以及大数保存问题)

    题目链接:http://ac.jobdu.com/problem.php?pid=1208 详细链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  4. vue Element-UI组件

    一.UI组件 目的: 提高开发效率, 别人提供好一切, 拿过来直接用饿了么团队开源一个基于vue组件库 Element-UI ==> pc端 文档: http://element-cn.elem ...

  5. ios中的coredata的使用

    Core Data数据持久化是对SQLite的一个升级,它是iOS集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类. (1)NSManagedObjectModel(被管 ...

  6. pandas生成时间列表(某段连续时间或者固定间隔时间段)

    python生成一个日期列表 首先导入pandas import pandas as pd def get_date_list(begin_date,end_date): date_list = [x ...

  7. 9.11 Django关于母版语言的灵活用法

    2018-9-11 12:45:38 还是这个连接 : http://www.cnblogs.com/liwenzhou/p/7931828.html 注意: 这节讲的是  母版语言的灵活用法!  可 ...

  8. 对crf++的template的理解 ©seven_clear

    这是以前的一篇草稿,当初没写完,今天发出来,但总觉得水平有限,越学越觉得自己菜,写的博客水准低,发完这篇以后就谨慎发博了,毕竟自己菜,不能老吹B,下面是原稿. 好久没更了,本来年前想写篇关于爬虫的总结 ...

  9. ubuntu下安装opencv3.1.0

    ubuntu14.04安装opencv3.1 1.下载opencv3.1源码http://opencv.org/releases.html 2.安装opencv3 2.1安装opencv3的依赖 1 ...

  10. 冒泡排序之python

    冒泡排序(Bubble sort) 两两比较相邻记录的关键字,如果反序则交换,直到没有反序记录为止. 1.算法描述: 比较相邻的元素.如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工 ...