当前位置: 首页 > 知识库问答 >
问题:

使用.GET[]时/count/处出现MultiValueDictKeyError

尉迟招
2023-03-14

我在执行代码时收到下面提到的错误:-

MultiValueDictKeyError at /count/'text box'Request Method: GET Request URL:http://127.0.0.1:8000/count/Django版本: 2.1异常类型: MultiValueDictKeyError异常值:'text box'异常位置: /Users/rajans/anaconda3/lib/python3.7/site-packages/django/utils/datastructures.py在getitem79行Python可执行文件: /Users/rajans/anaconda3/bin/pythonPython版本: 3.7.0 Python路径:['/用户/rajans/文档/djangoproject/wordcount','/用户/rajans/anaconda3/lib/python37.zip','/html" target="_blank">用户/rajans/anaconda3/lib/python3.7/lib-dynload','/用户/rajans/anaconda3/lib/python3.7/lib-dynload','/用户/rajans/anaconda3/lib/python3.7/site-pack']服务器时间: 2月5日星期二


from django.http import HttpResponse
from django.shortcuts import render

def homepage(request):
    return render(request,'home.html')


def contact(request):
    return HttpResponse("<h2> This is a contact_us page</h2><br> You can write to rajan.sharma@freshworks.com for any query")

def count(request):
    data=request.GET['textbox']
    data_list=split(data)
    data_len=len(data_list)
    return render(request,'count.html',{'length':data_len})
--------
<h1>Word Count</h1><br>
This is the home page for the Word count.

<form action="{% url 'count' name%}">  <!--  "{% url 'count' %}". this will load the url even if the path is changed..it will look for the name count-->
    <textarea name="textbox" cols=40 rows="10"></textarea><br/>
    <input type="submit" value="count"/>

</form>

count.html

<h1>Counted</h1><br/>
The length is :- {{length}}

共有3个答案

晁文斌
2023-03-14

使用多值词典的 get 方法,如果文本框不存在,您还可以提供默认值。

data=request.GET.get('textbox', None)
if data:
   #process
else:
   #process
於宾白
2023-03-14

您正在使用http://127.0.0.1:8000/count/这个url,当这个url调用函数时,它将使用函数中的GET方法,您正在尝试访问一个“文本框”,但在第一次访问时,文本框参数不存在,所以它显示错误

您需要修改视图函数并编写一个条件

def count(request):
    data=request.GET.get('textbox', None)
    if data:
        data_list=split(data)
        data_len=len(data_list)
        return render(request,'count.html',{'length':data_len})
    else:
        return render(request,'add here your html page name where input form is there')
邢昊焜
2023-03-14

看起来你没有在URL中将教科书变量作为参数传递。

尝试将您的URL称为/count_url/?textbook= "你想传递的价值观"

此外,建议使用.get方法作为

data = request.GET.get('textbook', None)

if data:
    # do something
 类似资料:
  • 我的基本想法是从std::tuple派生我自己的类,以便在里面获得一些helper类型,如下所示: 现在我尝试使用如下代码: 线条 不能用GCC5.2.0编译,而是用GCC6.1.0编译。这有点神秘,因为我记得元组的构造函数确实是显式的。为什么这适用于GCC6.1.0?但这不是我寻找的问题:-) 另一个提示:我遇到问题的代码似乎是用Clang3.5.0编译的。

  • 我知道以前有人问过这个问题,所以请原谅我再次问,但该线程指出的解决方案都不适合我。 我正在尝试按照文档设置 Kafka 。当我启动ZooKeeper时,我得到以下日志: 然后我开始Kafka,一切似乎都好: 然而,我在ZooKeeper日志中得到了以下条目: 虽然Kafka没有错误,但我不知道这些是什么 处理(…)时获得了用户级KeeperExc的 消息的意思是,我对设置没有信心。这些消息是什么意

  • 问题:在使用Openshift进行部署时出现Recieve“无法连接”错误。WAR for PHP/Java Bridge 下面我将描述为解决此错误而采取的每一步,提前感谢。 完整错误:(IP隐藏) “致命错误:未捕获无法连接到JEE服务器W.X.Y.Z:8080。请启动它。或定义('java_hosts',9267);定义('java_servlet',false);然后包含'java.inc'

  • 问题内容: 我正在尝试从中删除一些元素,但即使是最简单的示例,如本答案或本示例中的示例,也将无法使用。 使用法线代替a 并没有帮助。我想念什么?我正在使用Java 7。 问题答案: 返回由原始数组支持的列表。您对列表所做的更改也将反映在您传入的数组中。由于您无法向数组添加或删除元素,因此对列表进行这种创建也是不可能的,这就是调用失败的原因。如果要能够动态添加和删除元素,则需要使用(,等)的不同实现

  • 问题内容: 我的python列表中有以下字符串(来自命令提示符): 进一步将默认编码也更改为utf-16。但是仍然抛出异常如下: 无法确定此类字符串需要哪种转换才能正常工作。 问题答案: 无法使用utf-8,utf-16编码进行解码。 尝试latin-1编码: 或者,指定,以使其不尝试解码字符串。

  • 问题内容: 我有一个像这样的numpy数组: 我想将数组中的数字四舍五入到小数点后两位或三位。我尝试使用numpy.around和numpy.round,但是它们都给我以下错误: 我曾经 和 难道我做错了什么?还有其他方法可以有效地对大型阵列执行此操作吗? 问题答案: 您不能对作为对象的numpy数组进行四舍五入,只要可以将数组安全地转换为float即可更改此值: 对于字符串,unicode,vo