python django 表单
来源:互联网 发布:江铠同打郑爽耳光知乎 编辑:程序博客网 时间:2024/05/16 19:28
在每个view函数中,第一个参数总是HttpRequest
HttpRequest对象包含当前请求URL的一些信息:
2
需要一个方法或属性去得到一个URL:
def getUrl(requet):
return HttpResponse("Welcome to the page at %s" % request.path)
当访问不存在的键时,会触发keyError异常,使用get()方法来处理这些不存在的键
def ua_display_good2(request): ua = request.META.get('HTTP_USER_AGENT', 'unknown') return HttpResponse("Your browser is %s" % ua)
显示request.META下所有函数:
def display_meta(request): values = request.META.items() values.sort() html = [] for k, v in values: html.append('<tr><td>%s</td><td>%s</td></tr>' % (k, v)) return HttpResponse('<table>%s</table>' % '\n'.join(html))
使用表单提交数据的时候可以分为post提交和get提交
在view中可以时候用
request.GET['变量名']
去获取传来的值。
在处理结构复杂的数据时,可以选用django中自带的form库
from django import formsclass ContactForm(forms.Form): subject = forms.CharField(**max_length=100** ) email = forms.EmailField(required=False) message = forms.CharField(widget=forms.Textarea)
放在app下的一个forms.py文件中
自定义校验规则
Django的form系统自动寻找匹配的函数方法,该方法名称以clean_开头,并以字段名称结束。 如果有这样的方法,它将在校验时被调用。def clean_message(self): message = self.cleaned_data['message'] num_words = len(message.split()) if num_words < 4: raise forms.ValidationError("Not enough words!") return message
我们简单地使用了len()和split()的组合来计算单词的数量。 如果用户输入字数不足,我们抛出一个forms.ValidationError型异常。这个异常的描述会被作为错误列表中的一项显示给用户。
3
在函数的末尾显式地返回字段的值非常重要。 我们可以在我们自定义的校验方法中修改它的值(或者把它转换成另一种Python类型)。 如果我们忘记了这一步,None值就会返回,原始的数据就丢失掉了。
- python django 表单
- python django表单及其表单验证
- Python网络编程09----Django表单
- Python Django基础教程(五)(表单)
- python django框架反向生成页面表单
- Django 表单
- Django 表单
- Django表单
- Django-表单
- Django 表单
- django-表单
- Django 表单
- django表单
- Django表单
- Django-表单
- Python+Django+SAE系列教程11-----request/pose/get/表单
- Python+Django+SAE系列教程14-----使表单更安全
- Django系列五:Django 表单
- 阻塞和非阻塞
- 用Execute操作数据库
- linux下SVN配置笔记
- iBatis 到 MyBatis区别
- sql语句删除重复的记录的方法
- python django 表单
- 实现设计模式:原型模式
- 在Ring0下HOOK Ntdll.dll的Nt*函数的方法
- 关于重载的问题
- ACM算法训练
- MSSQL,Oracle 中,对应的RPAD,LPAD的功能函数进行字符补充
- js setTimeout 常见问题
- 英特尔对手机的几个痛苦领悟
- 设计模式之访问者模式(Vistor)