玩蛇网提供最新Python编程技术信息以及Python资源下载!

Django报错MultiValueDictKeyError,前端用户登入模块导入问题

报错信息:

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文件:

<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Project name</a>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <form class="navbar-form navbar-right" method="get" action="/login/"
        <div class="form-group">
          <input type="text" class="span3" name="user" placeholder="用户名">
        </div>
        <div class="form-group">
          <input type="text" class="span3" name="passwd" placeholder="密码">
        </div>
        <button type="submit" class="btn btn-success">Sign in</button>
            {% if err %}
                {{ err }}
            {% endif %}
      </form>
    </div><!--/.navbar-collapse -->
  </div>
</nav>

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

user = request.GET["user"]

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

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方式提交

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19317.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 20时19分44秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules