这是我 views.py 文件
from django.shortcuts import render
def home(request):
return render(request, 'home.html',{'name':'irtiza'})
def add(request):
val1 = int(request.GET['num1'])
val2 = int(request.GET['num2'])
res = val1 + val2
return render(request, "result.html",{'result': res})
当我运行此代码时,我收到此错误,
错误
然后我尝试了这个代码:
def add(request):
val1 = int(request.GET.get(['num1']))
val2 = int(request.GET.get(['num2']))
res = val1 + val2
return render(request, "result.html",{'result': res})
发生此错误。
在此输入图像描述
urls.py 文件
from django.urls import path
from . import views
urlpatterns = [
path("",views.home,name="home"),
path("add", views.add, name="add")
]
首页.html 文件
{% extends 'base.html' %}
{% block content %}
<h1> hello {{name}} </h1>
<form action="add">
{% csrf_token %}
Enter 1st number : <input type="text" name="num1"><br>
Enter 2nd number : <input type="text" name="num2"><br>
<input type="submit">
</form>
{% endblock %}
结果.html文件
{% extends 'base.html' %}
{% block content %}
Result : {{result}}
{% endblock %}
当我尝试POST功能时,它会给出下面提到的错误
from django.shortcuts import render
# Create your views here.
def home(request):
return render(request, 'home.html',{'name':'irtiza'})
def add(request):
val1 = int(request.POST['num1'])
val2 = int(request.POST['num2'])
res = val1 + val2
return render(request, "result.html",{'result': res})
MultiValueDictKeyError at /add 'num1' Request Method: GET Request URL: http://127.0.0.1:7000/add?csrfmiddlewaretoken=t6mVWboKI37vxW3zDbVmpnB3j3g89EzjFhikDDMrB4qVEfrNyqG5pebeXgDLAFE0&num1=3&num1=3 Django Version: 3.0.3 Exception Type: MultiValueDictKeyError Exception Value:
'num1' Exception Location: C:\Users\irtiza\AppData\Local\Continuum\anaconda3\lib\site-packages\django\utils\datastructures.py in getitem, 第 78 行 Python 可执行文件: C:\Users\irtiza\AppData\Local\Continuum\anaconda3\python.exe Python 版本: 3.7.4
我现在应该做什么来解决这个错误。这只是一个将两个数字相加的简单函数。请帮帮我。
慕虎7371278
精慕HU
慕哥9229398
相关分类