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. HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP错误解决方法

    在树莓派上运行在windows上正确的程序,  报错: HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP OpenCV Error: Assertion failed (s ...

  2. 【JSON.NET】json序列化小驼峰格式(属性名首字母小写)

    废话少说,先上代码 var setting = new JsonSerializerSettings { ContractResolver = new Newtonsoft.Json.Serializ ...

  3. margin-left:10px; 不同浏览器距离为什么不一样?

    这是一个ie的bug.. 如果你设置margin对象是浮动的.ie就会把你设置的值双倍处理..可以设置浮动对象的 display:inline 解决

  4. 移动端rem自适应布局(切图)

    本篇适用于初次使用rem为单位切图而无从下手的童鞋.核心是根据屏幕动态改变根元素字体大小,以达到适配各种屏幕.这只是一个拿来就用的教程.很多东西没有详细说明.不过对于快速做手机端切图很有帮助. 模板: ...

  5. mysql里查看时间

    MariaDB [jumpserver]> select current_time;+--------------+| current_time |+--------------+| 16:22 ...

  6. 23种设计模式之责任链模式(Chain of Responsibility)

    责任链模式是一种对象的行为型模式,避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止.责任链模式不保证每个请求都被接受, ...

  7. dhroid - ioc高级(接口,对象注入)

    下面到了接口对象的注入了解冻吧,现在才是我们的重点,这才是ioc的核心思想,上面的都是android的辅助1.5 对象依赖问题 我们先来将一下对象对象依赖的重要性,很多同学可能只学了android没学 ...

  8. Unity3D笔记十七 Unity3D生命周期

    一个游戏组件的脚本有一个生命周期——一开始实例化,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见 本文主要讨论常见脚本的的生命周期 ...

  9. Thinkphp---自定义服务类!

    考虑到有些功能是复用的,可以将一些复用的功能放到一个服务里面公用! 例如:公共模块新建一个服务类: 示例: <?php namespace Common\Service; // use Thin ...

  10. python的for else组合用法

    如下代码,输入评论,如果评论中含有敏感词则更换成*号,否则正常输入. li = ["老师", "你好", "333", "4444 ...