首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  Flask

Python2 的 flask 接收不到中文参数,求大神一览

  •  
  •   Yycreater · 2018-07-19 18:08:02 +08:00 · 2449 次点击
    这是一个创建于 512 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这是后端代码
    form = UserSearchForm(request.form)
    四个空格 user_name = request.args.get('user_name', '', type=str)
    四个空格 real_name = request.args.get('real_name', '', type=str)
    四个空格 print '1111111111111111111111111111111111111111111111111111111111'
    四个空格 print real_name 中文取不到,只有默认值''
    四个空格# print real_name.decode('utf-8')
    四个空格 print isinstance(real_name, str)
    四个空格 print '1111111111111111111111111111111111111111111111111111111111'


    就这样,real_name 这个参数的中文接收不到,英文却可以接收到




    下面是前段输入框
    <input class="layui-input" id="real_name" name="real_name" placeholder="姓名" type="text" value="">
    9 回复  |  直到 2018-07-20 10:20:16 +08:00
        1
    GoLand   2018-07-19 18:35:34 +08:00
    去 query string 里当然取不到 body 里的 POST 参数。POST 请用 request.form/json。
        2
    rookiebulls   2018-07-19 18:47:01 +08:00 via iPhone
    这个 form 变量没用的?
        3
    Yycreater   2018-07-19 18:47:44 +08:00
    嗯呢,解决了,是我参数获取后面限定了 str 类型只获取英文,Python2 的中文是 unicode,英文是 str,
        4
    Yycreater   2018-07-19 18:49:33 +08:00
    @rookiebulls 有用,是用来映射输入框的,查询会刷新页面,用那个会让用户知道自己之前输入的是啥
        5
    xpresslink   2018-07-19 19:04:19 +08:00
    Python2 的中文是 unicode,英文是 str
    楼主,这个说法不太严谨啊
        6
    Kilerd   2018-07-19 20:51:35 +08:00
    还有你 flash message 的时候记得用 unicode `flash(u"Chinese here")`
        7
    wnh3yang   2018-07-19 21:08:51 +08:00 via Android
    请用回 python3
        8
    stonehe   2018-07-19 23:51:10 +08:00
    python2 转 python3 有那么难吗?有没有转行难?
        9
    susecjh   2018-07-20 10:20:16 +08:00
    @stonehe 刚到一家公司实习,看见导师发给我 Python2.7,心里面凉凉
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2324 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 02:23 · PVG 10:23 · LAX 18:23 · JFK 21:23
    ♥ Do have faith in what you're doing.