python - Django前端用户登入模块报错:MultiValueDictKeyError
PHP中文网
PHP中文网 2017-04-17 13:38:19
[Python讨论组]

报错信息:

view文件,下面login方法:

def login(request):                                                          
    print request.GET                                                        
#    return render_to_response("login.html")                                 
    user = request.GET["user"]                                               
    passwd = request.GET["passwd"]                                           

    if user == 'python'and passwd == '123':                                   
        return render_to_response("login.html")                              
    else:                                                                    
        return render_to_response("login.html",{'err':"Login failure!!!"})   

login.html文件:


PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
天蓬老师
user = request.GET["user"]

request.GET里面并没有key "user",也就是user没有传在url参数里面

黄舟

请问,这个问题如何解决啊?但是我在后台日志里面,可以获得user和passwd的参数啊!

高洛峰

request.GET 包含了所有GET请求的内容,看报错信息,大概是 key 出问题

把提交的字段user 改掉,可能和自带的key user冲突。

<input type="text" class="span3" name="username" placeholder="用户名">

并使用 request.GET.get('username') 这样的方法获取keyvalue,如果没有这个值,返回 None

PS: 提主做登录功能,表单不能 GET 提交啊,密码等敏感信息直接暴力在url了。应该改成POST方式提交

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号