Я получаю сообщение об ошибке 'MultiValueDictKeyError' в / store / AddProduct '' des c 'в Django проекте. Я ищу решение по inte rnet и в итоге получаю request.POST.get () , но я хочу знать, почему оно выдает ошибку, я попытался request.POST [ 'des c'] раньше, и это работает для моего проекта входа пользователя. почему сейчас выдает ошибку вот моя системная информация:
- Django версия: 3.0.4
- Python версия: 3.8.2
вот view.py
from django.shortcuts import render
from .models import Gender, Category, SubCategory, Product, Company
db_gender = Gender.objects.all()
db_category = Category.objects.all()
db_subCategory = SubCategory.objects.all()
db_product = Product.objects.all()
db_company = Company.objects.all()
def add_product(request):
if request.method == 'POST' :
name = request.POST['name']
descp = request.POST['desc']
price = request.POST['price']
offer_valid = request.POST['offer_valid']
offer_value = request.POST['offer_value']
company = request.POST['company']
quantity = request.POST['quntity']
category = request.POST['category']
sub_category = request.POST['sub_category']
size = request.POST['size']
color = request.POST['color']
return render(request, 'checkout.html', {'db_category': db_category, 'db_subcategory': db_subCategory})
else:
return render(request, 'checkout.html', {'db_category': db_category, 'db_subcategory': db_subCategory})
здесь не отображается ошибка для name = request.POST ['name'] & company = request.POST ['company'] [вот изображение] 1 но он показывает ошибку для всех полей, вот моя проверка. html файл Я скачал этот файл шаблона с https://colorlib.com/wp/template/estore/
<section class="checkout_area section_padding">
<div class="container">
<div class="billing_details">
<div class="row">
<div class="col-lg-8">
<h3>Product Details</h3>
<form class="row contact_form" action="add_product" method='POST'>
{% csrf_token %}
<div class="col-md-12 form-group p_star">
<input type="text" class="form-control" name="name">
<span class="placeholder" data-placeholder="Product Name"></span>
</div>
<div class="col-md-12 form-group p_star">
<input type="text" class="form-control" name="desc">
<span class="placeholder" data-placeholder="Describtion"></span>
</div>
<div class="col-md-3 form-group p_star">
<span class="placeholder" data-placeholder="Image"></span>
</div>
<div class="col-md-9 form-group ">
<input type="file" class="form-control" id="image" name="image" accept="image/*" />
</div>
<div class="col-md-12 form-group p_star">
<input type="text" class="form-control" id="company" name="company" />
<span class="placeholder" data-placeholder="Company Name"></span>
</div>
<div class="col-md-12 form-group p_star">
<select class="country_select" name='category' size="4">
<option value="1" disabled selected>Category</option>
{% for cat in db_category%}
<option value="2">{{cat.name}}</option>
{% endfor %}
</select>
</div>
<div class="col-md-12 form-group p_star">
<select class="country_select" name='sub_category' size="4">
<option value="1" disabled selected>Sub-Category</option>
{% for subcat in db_subcategory%}
<option value="2">{{subcat.name}}</option>
{% endfor %}
</select>
</div>
<div class="col-md-3 form-group p_star">
<input type="text" class="form-control" id="quntity" name="quntity" />
<span class="placeholder" data-placeholder="Quntity"></span>
</div>
<div class="col-md-3 form-group p_star">
<select class="country_select" name="size" size="3">
<option value="1" disabled selected>Size</option>
<option value="2">Country</option>
<option value="3">Country</option>
<option value="4">Country</option>
<option value="5">Country</option>
<option value="6">Country</option>
</select>
</div>
<div class="col-md-3 form-group p_star">
<select class="country_select" name="color">
<option value="1" disabled selected>Color</option>
<option value="2">Country</option>
<option value="4">Country</option>
</select>
</div>
<div class="col-md-12 form-group">
<div class="creat_account">
<input type="checkbox" id="offer_valid" name="offer_valid" />
<label for="f-option3">Offer Valid</label>
</div>
</div>
<div class="col-md-6 form-group p_star">
<input type="text" class="form-control" id="price" name="price" />
<span class="placeholder" data-placeholder="Price"></span>
</div>
<div class="col-md-6 form-group ">
<input type="text" placeholder="Offer Value" class="form-control" id="offer_value" name="offer_value" />
</div>
<div class="col-md-12 form-group ">
<button type="submit" value="submit" class="btn_3">
Submit
</button>
</div>
</form>
</div>
<div class="col-lg-4">
<div class="order_box">
<h2>Your Order</h2>
</div>
</div>
</div>
</div>
</div>
</section>
Он работает в моем другом шаблоне входа, который я скачал с того же сайта здесь view.py для входа
from django.shortcuts import render, redirect
from django.contrib.auth.models import User, auth
def login(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
print('Login succesfuly')
return redirect('/')
else:
print('user does not exist')
return redirect('/')
else:
return render(request, 'login.html')
здесь вход. html
<form class="row contact_form" action="login" method='POST' novalidate="novalidate">
{% csrf_token %}
<div class="col-md-12 form-group p_star">
<input type="text" class="form-control" id="Username" name="username" value=""
placeholder="Username">
</div>
<div class="col-md-12 form-group p_star">
<input type="password" class="form-control" id="password" name="password" value=""
placeholder="Password">
</div>
<div class="col-md-12 form-group">
<div class="creat_account d-flex align-items-center">
<input type="checkbox" id="f-option" name="selector">
<label for="f-option">Remember me</label>
</div>
<button type="submit" value="submit" class="btn_3">
log in
</button>
</div>
</form>
он работает здесь же код Поэтому я просто хочу знать, почему это происходит.