django的表单系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django的表单系统相关的知识,希望对你有一定的参考价值。
1、概述:
django表单系统中,自定义表单类都是以django.forms.Form为父类进行创建;
django中的Form一般有两种功能:
- 生成特定的html标签
- 后台验证用户提交的数据
2、在views文件中自定义form表单类:
# 自定义form表单类 class Userinfo(forms.Form): name = forms.CharField() password = forms.CharField() email = forms.EmailField() message = forms.CharField()
3、views中的方法:
def login(request): # 创建自定义表单的实例 form_obj = Userinfo() # 将前端表单post的数据,封装到自定义表单类中 user_info = Userinfo(request.POST) # 验证前端数据是否合法 if user_info.is_valid(): print True else: print False # 将自定义表单的实例传到html文件中 return render(request, ‘login.html‘, {‘form_obj‘: form_obj})
4、前端代码:
<form method="post" action="{% url ‘login‘ %}"> <p>用户名:{{ form_obj.name }}</p> <p>密码:{{ form_obj.password }}</p> <p>邮箱:{{ form_obj.email }}</p> <p>备注:{{ form_obj.message }}</p> <input type="submit" value="提交" name="submit"> </form>
5、提取前端提交的数据和捕获错误信息:
def login(request): # 创建自定义表单的实例 form_obj = Userinfo() # 将前端表单post的数据,封装到自定义表单类中 user_info = Userinfo(request.POST) # 验证前端数据是否合法 if user_info.is_valid(): # 验证通过,提取用户提交的数据 print user_info.clean() else: # 验证未通过捕获错误提示 print user_info.errors # 将自定义表单的实例传到html文件中 return render(request, ‘login.html‘, {‘form_obj‘: form_obj})
6、将错误提示返回到前端展示:
def login(request): # 创建自定义表单的实例 form_obj = Userinfo() # 将前端表单post的数据,封装到自定义表单类中 user_info = Userinfo(request.POST) # 验证前端数据是否合法 if user_info.is_valid(): # 验证通过,提取用户提交的数据 print user_info.clean() else: # 验证未通过捕获错误提示 erro_info = user_info.errors # 用户提交了数据,返回错误信息的同时,也需要把用户填写的数据一起返回 return render(request, ‘login.html‘, {‘form_obj‘: user_info, ‘erro_info‘: erro_info}) # 将自定义表单的实例传到html文件中 return render(request, ‘login.html‘, {‘form_obj‘: form_obj})
以上是关于django的表单系统的主要内容,如果未能解决你的问题,请参考以下文章
Google App Engine 渲染和 Django 表单
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段