綦琪琪琪 2020-04-08 18:19 采纳率: 0%
浏览 859

报错出现MultiValueDictKeyError at /account/user 'userid'是什么问题呢?

Django开发用户模块,需要进行用户登录时区分不同角色,却出现了这样的问题**_MultiValueDictKeyError at /account/user

'userid'**_

不知道是什么原因造成的,查了很多文章也没有解决当前的问题,希望得到大家的帮助

具体代码如下:
models.py

from django.db import models

# Create your models here.
from django.contrib.auth.models import Group
from django.contrib.auth.models import User

class User2(models.Model):
    id = models.AutoField(primary_key=True)
    userid = models.CharField(max_length=20)
    password = models.CharField(max_length=15)
    status = models.CharField(max_length=15,null=True)
    def __str__(self):
        # 在Python3中使用 def __str__(self):
        return self.userid
    def __str__(self):
        # 在Python3中使用 def __str__(self):
        return self.password
    def __str__(self):
        # 在Python3中使用 def __str__(self):
        return self.status

login.html

<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
    <!-- CSS -->
    <link rel='stylesheet' href='http://fonts.googleapis.com/css?family=PT+Sans:400,700'>
    <link rel="stylesheet" href="{% static 'css/reset.css' %}">
    <link rel="stylesheet" href="{% static 'css/supersized.css' %}">
    <link rel="stylesheet" href="{% static 'css/style1.css' %}">
    <script src="{% static 'js/jquery-1.8.2.min.js' %}"></script>
    <script src="{% static 'js/supersized.3.2.7.min.js' %}"></script>
    <script src="{% static 'js/supersized-init.js' %}"></script>
    <script src="{% static 'js1/scripts.js' %}"></script>
</head>
<body>

<div class="page-container">
    <h1 style="color: #0b0d0c">欢迎您登录</h1>
    <form method="POST" action="{% url 'account:user' %}" onsubmit="return eg.regCheck();">
        {% csrf_token %}
        <div class="logGet">
            <input type="text" placeholder="Username" id="userid" name="userid" autofocus />
            <input type="password" placeholder="Password" id="userpwd" name="password"/>
            <button type="submit">登录</button>
        </div>
    </form>
</div>
<script>
    var eg = {};
    eg.$ = function(id){
        return document.getElementById(id);
    };
    eg.regCheck = function(){
        var uid = eg.$("userid");
        var upwd = eg.$("userpwd");

        if(uid.value ==''){
            alert('账号不能为空!');
            return false;
        }
        if(upwd.value ==''){
            alert('密码不能为空!请输入密码!!!');
            return false;
        }
        return true;
    };
</script>
</body>
</html>


views.py

def user(request):
    # try:
    Userid = request.POST['userid']
    Password = request.POST['password']
    request.session["name"] =Userid
    # context={}
    # context['userid']=userid
    # request.session['msg']=context

    print(Userid)
    print(Password)
    # return render(request, 'index.html', {})
    user = User2.objects.filter(userid=Userid, password=Password)
    print(user)
    if user:
        for users in user:
            if users.status == 'C':
                return render(request, 'project/index.html', {})
            if users.status == 'T':
                return render(request, 'book/book_detail.html', {'user': user})

    else:
        return render(request, 'Work1-1.html', {'msg': '用户名或密码不正确'})
# except:
#     return render(request, 'login.html', {'msg': None})


def enroll(request):
    return render(request, 'enroll.html', {})


def test(request):
    #user_name = request.POST.get("userid", None)
    #user_password = request.POST.get("password", None)
    #status = request.POST.get("status",None)
    user_name = request.POST['user_name']
    user_password = request.POST['user_password']
    status = request.POST['status']

    ## user_name=request.POST.get("userid",None)
    ## user_password=request.POST.get("password",None)

    from account.models import User2
    from account import models

    User2.objects.create(userid=user_name, password=user_password, status=status)

    info_list = models.User2.objects.all()

    return render(request, 'login.html', {"info_list": info_list})

希望能得到帮助,着急!

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-04-08 20:16
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊