Flaskflask 表单验证疑问,这个name是怎么传进来的

使用 WTForms 进行表单验证 & Flask
文档 - PyTab在线手册中心请教如何在 ajax 中用 post 方法传递数组。前端用 jquery 后端是 flask。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
请教如何在 ajax 中用 post 方法传递数组。前端用 jquery 后端是 flask。
19:03:38 +08:00 · 6163 次点击
用jquery.param()也不行。还有一个疑问:如果post的数据中,不能传递数组的话,request.form.getlist()这个方法是不是永远用不上了?
19 回复 &| &直到
11:03:03 +08:00
& & 19:14:12 +08:00
& & 19:38:17 +08:00
我看到jquery官方jquery.post()的api
Example: Pass arrays of data to the server (while still ignoring the return results).
1
$.post( &test.php&, { 'choices[]': [ &Jon&, &Susan& ] } );
但是我这么用就不行,flask的request.form中只有 'choices[]'=&jon&
& & 19:39:55 +08:00
难道是php可以python的flask不可以?
& & 19:54:58 +08:00
不太清除,
在chrome里看
代码$.post('/',{a:{b:1,c:{d:2,e:3}}})
实际发送的数据是字符串a%5Bb%5D=1&a%5Bc%5D%5Bd%5D=2&a%5Bc%5D%5Be%5D=3 这就得看你的后端解析的怎么样了,不清楚flask
& & 20:16:15 +08:00
难道真是flask的问题……
& & 20:25:14 +08:00
首先,你得确认你的ajax请求是什么,虽然默认是application/x-www-form-urlencoded,但是也可以全局的改为其它的类型,比如如果你定义成 application/json, request.form当然就拿不到了
下面的 contentType, 你可以使用 request.form.getlist(),因为都是 request.form
multipart/form-data
application/x-www-form-urlencoded
application/x-url-encoded
& & 20:25:22 +08:00
解决了,我在debug下看的request.form变量,可能是werkzeug的数据结构问题,在debug下只能看到reuqest.form的第一个值,但是调用request.form.getlist()能取到完整的数组。
& & 20:25:44 +08:00
还没看过flask
Django是把post过来的数据放一份到request.body里
有些复杂格式传递过来, request.GET, request.POST解析不了
这时候你就去request.body里自己取出来解析就可以了
& & 20:29:11 +08:00
请求头没改,用debug下观察request.form变量只能看到第一个值,但是其实都解析好了。
正如你说的的得用request.form.getlist()。
多谢。
& & 20:30:36 +08:00
解决了,django了解不多,但还是谢谢你。O(∩_∩)O
& & 20:40:30 +08:00
js 先 array.toString(),后端再 string.split() 不可以吗?
& & 20:44:29 +08:00
也可以用 json
type: 'POST',
data: JSON.stringify({a: [1,2], b: 3}),
contentType: 'application/json'
})
在 flask 里用 request.json 可以直接拿到对应的 dict 对象:
request.json 就是 {'a': [1,2], 'b': 3} 了,request.json.get('a') 就是 [1,2]
& & 22:14:40 +08:00
request.args()
& & 22:27:26 +08:00
可以,但是官方提供了方法,我就尽可能用官方的,array里的字符串如果有逗号,可能还要做特殊处理吧,没试过。
& & 22:30:37 +08:00
原来javascript里还有JSON.stringify()方法。
我一直没找到javascript的api文档。请问哪里有?(不是jquery的也不是微软的jscript的)
& & 23:16:07 +08:00
我和你说一个类似的吧
我后端用的struts 2.x,前端用jQuery,用post同样不行
用那种 { 'choices[]': [ &Jon&, &Susan& ] }同样不行,后面也是用了
$.ajax这种方式。
& & 10:23:27 +08:00
& & 11:02:28 +08:00
不了解struts2,我用jquery时,传的的字典{&ids&:[1,2,3]},但是到了flask后请求体的key变为了&ids[]&,不知道是jquery还是flask把&ids&变为&ids[]&,所以取值时用&ids[]&就可以取出来,而用&ids&不可以。
传json可以作为框架不支持取数组的备用方法。以后打算看一看spring mvc,不知道支不支持直接取数组。
& & 11:03:03 +08:00
& · & 1588 人在线 & 最高记录 1847 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.3 · 55ms · UTC 05:08 · PVG 13:08 · LAX 22:08 · JFK 01:08? Do have faith in what you're doing.Flask表单疑问,这个name是怎么传进来的_百度知道
Flask表单疑问,这个name是怎么传进来的
参数thisform是点击submit后提交的表单中email中的数据.,我先从validate_form说起吧,在if中调用validate_required判断email文本域是否为空validate_required是用来供validate_form调用的.,就弹出对话,如果为空,将参数传入validate_form后
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁,Python后端
我写过一个rss个小工具,&a href=&///?target=https%3A//diy-/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&diy-/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&爬取搜狗微信公众号搜索的非公开接口,没做宣传的时候,流量不大,用的比较好,宣传后,用的人多了,就发现被反爬虫了,一直500&br&&br&通过chrome的开发者工具分析搜狗页面的请求,发现不是通过ip反爬,而是cookie里的几个关键字段,应对方法就是写个定时任务,维护一个cookie池,定时更新cookie,爬的时候随机取cookie,现在基本不会出现500&br&&br&所以应对反爬虫,先分析服务器是通过什么来反爬,通过ip就用代理,通过cookie就换cookie,针对性的构建request。
我写过一个rss个小工具,爬取搜狗微信公众号搜索的非公开接口,没做宣传的时候,流量不大,用的比较好,宣传后,用的人多了,就发现被反爬虫了,一直500通过chrome的开发者工具分析搜狗页面的请求,发现不是通过ip反爬,而是cookie里的…
更新&br&在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛&br&&a href=&///?target=https%3A///repos/zhu327/rss& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浏览镜像&i class=&icon-external&&&/i&&/a&&br&--------------------------------------------------------&br&&br&更新&br&抱歉 微信公众号rss服务又一次500,量大了还是会被反爬虫,所以如果需要微信公众号rss可以用 &a data-hash=&b340fa133e680db12333aecf99ed4065& href=&///people/b340fa133e680db12333aecf99ed4065& class=&member_mention& data-editable=&true& data-title=&@班瑞& data-tip=&p$b$b340fa133e680db12333aecf99ed4065&&@班瑞&/a& 提供的服务,或者自己探索一下,用我代码搭建一个,公用服务订阅量超过300的话就会被屏蔽,如果是自用应该不会订阅这么多&br&&br&---------------------------------------------------------&br&&br&更新&br&重构了代码,现在微信rss每天更新一次&br&&br&---------------------------------------------------------&br&&a href=&///?target=https%3A//diy-/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RSS Factory&i class=&icon-external&&&/i&&/a&&br&自己写了一个,还行,因为是实时抓去网页所以有点慢,但是一般都是阅读器读取,问题不大&br&好像主页被墙了,可以直接&br&&a href=&///?target=https%3A//diy-/weixin%3Fopenid%3DoIWsFt86NKeSGd_BQKp1GcDkYpv0& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&diy-/we&/span&&span class=&invisible&&ixin?openid=oIWsFt86NKeSGd_BQKp1GcDkYpv0&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&把最后的openid替换成想订阅的公众号openid即可&br&公众号openid可通过搜狗微信搜索获取&br&&br&已开源,有兴趣可以参考,python tornado实现&br&&a href=&///?target=https%3A///zhu327/rss& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhu327/rss · GitHub&i class=&icon-external&&&/i&&/a&
更新在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛------------------------------------------------…
&a href=&///?target=http%3A///zhu327/rss& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/zhu327/rss&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& 既然你也用python就直接看代码吧&br&&br&爬这里 &a href=&///?target=http%3A///widget/widget_blog.php%3Fuid%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/widge&/span&&span class=&invisible&&t/widget_blog.php?uid=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&{uid} 替换uid,无需登录,不会被挡
既然你也用python就直接看代码吧爬这里 {uid} 替换uid,无需登录,不会被挡
我这个怎么样?&br&&a href=&///?target=http%3A///zhu327/forum& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/zhu327/forum&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&
我这个怎么样?
更新&br&在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛&br&&a href=&///?target=https%3A///repos/zhu327/rss& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浏览镜像&i class=&icon-external&&&/i&&/a&&br&&br&&br&&a href=&///?target=https%3A//diy-/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&diy-/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&自己写了一个,还行,因为是实时抓去网页所以有点慢,但是一般都是阅读器读取,问题不大&br&更新了缓存,现在访问速度会快点,如果是第一次还是会有点慢&br&&br&&a href=&///?target=https%3A///zhu327/rss& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/zhu327/rss&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&
更新在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛自己写了一个,还行,因为是实…
更新&br&在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛&br&&a href=&///?target=https%3A///repos/zhu327/rss& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浏览镜像&i class=&icon-external&&&/i&&/a&&br&&br&&br&&a href=&///?target=https%3A//diy-/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&diy-/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&自己写了一个,还行,因为是实时抓去网页所以有点慢,但是一般都是阅读器读取,问题不大&br&更新了缓存,现在访问速度会快点,如果是第一次还是会有点慢&br&&br&&a href=&///?target=https%3A///zhu327/rss& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhu327/rss · GitHub&i class=&icon-external&&&/i&&/a&
更新在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛自己写了一个,还行,因为是实…
用微信链接IFTTT,用微信来发位置信息签到&br&&img src=&/cbdbda38cc90d3d2382288fd_b.jpg& data-rawwidth=&258& data-rawheight=&258& class=&content_image& width=&258&&&br&通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.&br&&br&使用说明:&a href=&///?target=http%3A///blog/34& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IFWechat使用说明 · 跬步&i class=&icon-external&&&/i&&/a&&br&IFTTT Recipes 示例:&a href=&///?target=https%3A///p/zhu327/shared& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhu327's Published Recipes&i class=&icon-external&&&/i&&/a&
用微信链接IFTTT,用微信来发位置信息签到通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.使用说明:IFTTT Recipes 示例:
写过一个迅雷云播推送到xbmc上播放的脚本,很简单,也没什么技术含量,但是对于喜欢看电影的人,真的是一大福利啊,免费使用迅雷云播,通过xbmc用大电视看高清&br&&br&脚本地址&br&&a href=&///?target=https%3A///zhu327/987f3fc288ca55939e73& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/zhu327/&/span&&span class=&invisible&&987f3fc288ca55939e73&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&xbmc是在树莓派上用的,一般720p+外挂字幕毫无压力,另外附上树莓派用xbmc心得一篇&br&&a href=&///?target=http%3A///blog/13& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/blog/&/span&&span class=&invisible&&13&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
写过一个迅雷云播推送到xbmc上播放的脚本,很简单,也没什么技术含量,但是对于喜欢看电影的人,真的是一大福利啊,免费使用迅雷云播,通过xbmc用大电视看高清脚本地址xbmc是在树莓派上用的,一般720p+外挂字幕毫无压力,另外附上树莓…
&a href=&///?target=https%3A//diy-/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RSS Factory&i class=&icon-external&&&/i&&/a&&br&参考排名第二的答案自己写了一个,还行&br&好像主页被墙了,可以直接&br&&a href=&///?target=https%3A//diy-/weibo%3Fuid%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&diy-/we&/span&&span class=&invisible&&ibo?uid=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&把最后的uid替换成自己的微博uid即可
参考排名第二的答案自己写了一个,还行好像主页被墙了,可以直接把最后的uid替换成自己的微博uid即可
更新&br&在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛&br&&a href=&///?target=https%3A///repos/zhu327/rss& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浏览镜像&i class=&icon-external&&&/i&&/a&&br&&br&&a href=&///?target=https%3A//diy-/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&diy-/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&
更新在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛
更新&br&在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛&br&&a href=&///?target=https%3A///repos/zhu327/rss& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浏览镜像&i class=&icon-external&&&/i&&/a&&br&&br&&a href=&///?target=https%3A//diy-/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RSS Factory&i class=&icon-external&&&/i&&/a&&br&自己写了一个,还行,因为是实时抓去网页所以有点慢,但是一般都是阅读器读取,问题不大&br&更新了缓存,现在访问速度会快点,如果是第一次还是会有点慢&br&&br&&a href=&///?target=https%3A///zhu327/rss& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/zhu327/rss&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&
更新在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛自己写了一个,还行,因为是实时抓去网…
Flask的request是全局变量(准确点说是线程局部变量,在线程内可以看做是全局变量),我没有看Flask的form相关的代码,所有这里猜测一下,应该是NameForm这个类直接使用到了request.from这个POST表单数据的字典来验证,又因为request在线程内是全局的,所有NameForm可以不通过参数就可用获取到表单数据
Flask的request是全局变量(准确点说是线程局部变量,在线程内可以看做是全局变量),我没有看Flask的form相关的代码,所有这里猜测一下,应该是NameForm这个类直接使用到了request.from这个POST表单数据的字典来验证,又因为request在线程内是全局的,所有NameForm…
微博 印象笔记 amazon drive 我看到的就这几个了,当然了还可用我的公众号连接微信&br&&br&&img src=&/cbdbda38cc90d3d2382288fd_b.jpg& data-rawwidth=&258& data-rawheight=&258& class=&content_image& width=&258&&&br&通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.&br&&br&使用说明:&a href=&///?target=http%3A///blog/34& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IFWechat使用说明 · 跬步&i class=&icon-external&&&/i&&/a&&br&IFTTT Recipes 示例:&a href=&///?target=https%3A///p/zhu327/shared& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhu327's Published Recipes&i class=&icon-external&&&/i&&/a&
微博 印象笔记 amazon drive 我看到的就这几个了,当然了还可用我的公众号连接微信通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.使用说明:
&img src=&/cbdbda38cc90d3d2382288fd_b.jpg& data-rawwidth=&258& data-rawheight=&258& class=&content_image& width=&258&&&br&通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.&br&&br&使用说明:&a href=&///?target=http%3A///blog/34& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IFWechat使用说明 · 跬步&i class=&icon-external&&&/i&&/a&&br&IFTTT Recipes 示例:&a href=&///?target=https%3A///p/zhu327/shared& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhu327's Published Recipes&i class=&icon-external&&&/i&&/a&
通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.使用说明:IFTTT Recipes 示例:
不晚,前后学了2年python,刚找到python后台开发的工作,今年27,加油,不要怕走弯路,最多就是晚一点
不晚,前后学了2年python,刚找到python后台开发的工作,今年27,加油,不要怕走弯路,最多就是晚一点
&a href=&///?target=https%3A//diy-/zhihu& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&diy-/zh&/span&&span class=&invisible&&ihu&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&自己写了一个,知乎日报都没有时间,所以这个源每篇也没时间
自己写了一个,知乎日报都没有时间,所以这个源每篇也没时间
&img src=&/cbdbda38cc90d3d2382288fd_b.jpg& data-rawwidth=&258& data-rawheight=&258& class=&content_image& width=&258&&&br&通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.&br&&br&使用说明:&a href=&///?target=http%3A///blog/34& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IFWechat使用说明 · 跬步&i class=&icon-external&&&/i&&/a&&br&IFTTT Recipes 示例:&a href=&///?target=https%3A///p/zhu327/shared& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhu327's Published Recipes&i class=&icon-external&&&/i&&/a&
通过微信公众号连接IFTTT,可以通过发微信来发微博,发tweet等等,发地理位置来签到,发分享链接添加到稍后阅读,发挥你的创意,创造各种连接微信的IFTTT Recipes.使用说明:IFTTT Recipes 示例:
孤独,姐姐在这边,爸妈帮姐姐带孩子,自己在关外租住,经常去姐姐家吃饭,但是没有朋友,下了班就不知道做什么,关外也没什么好玩的,所以只好宅,断断续续自学了一些东西,准备换工作,时间都用在学习以及看电影上了,偶尔出门旅游,一个人,没有目的,好像就是逃跑一样。
孤独,姐姐在这边,爸妈帮姐姐带孩子,自己在关外租住,经常去姐姐家吃饭,但是没有朋友,下了班就不知道做什么,关外也没什么好玩的,所以只好宅,断断续续自学了一些东西,准备换工作,时间都用在学习以及看电影上了,偶尔出门旅游,一个人,没有目的,好…
搜狐有个sendcloud
搜狐有个sendcloud
现在最主要的用途就是装了aria2c下载百度云的资源,在公司时添加下载任务,晚上回去看电影,下载速度可以跑满宽带
现在最主要的用途就是装了aria2c下载百度云的资源,在公司时添加下载任务,晚上回去看电影,下载速度可以跑满宽带
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 flask 表单验证 的文章

 

随机推荐