Python Django表单将方法返回为GET而不是POST
我已经设置了method='POST',但是视图中的printrequest.method打印GET,我不知道为什么,所以我的按钮无法工作并保存数据, 我已经尝试了我知道的一切,但我的代码没有得到修复 这是我的模板,其中我将方法设置为POST in表单标记,并且我将表单操作设置为url,我还将formmethod设置为POST in按钮标记:Python Django表单将方法返回为GET而不是POST,python,html,django,forms,Python,Html,Django,Forms,我已经设置了method='POST',但是视图中的printrequest.method打印GET,我不知道为什么,所以我的按钮无法工作并保存数据, 我已经尝试了我知道的一切,但我的代码没有得到修复 这是我的模板,其中我将方法设置为POST in表单标记,并且我将表单操作设置为url,我还将formmethod设置为POST in按钮标记: <div class="row"> <div class="col-12"> &l
<div class="row">
<div class="col-12">
<div class="card m-b-30">
<div class="card-body">
<form action="{% url 'create_production' %}" method="POST">
{% csrf_token %}
<div class="row">
<div class="col-lg-4">
<div class="p-20">
<div class="form-group">
<label>تاریخ</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text cursor-pointer" id="tdate"><i class="fa fa-calendar" aria-hidden="true"></i></span>
</div>
{{ form.date }}
</div>
</div>
<div class="form-group">
<label>نام شرکت</label>
{{ form.comName }}
</div>
<div class="form-group">
<label></label>
{{ form.comId }}
</div>
<div class="form-group">
<label>نام محصول</label>
{{ form.prodName }}
</div>
<div class="form-group">
<label></label>
{{ form.prodId }}
</div>
</div>
</div>
<div class="col-lg-4">
<div class="p-20">
<div class="form-group">
<label></label>
{{ form.gradeId }}
</div>
<div class="form-group">
<label>نام گرید</label>
{{ form.gradeName }}
</div>
<div class="form-group">
<label>نوع گرید</label>
{{ form.gradeType }}
</div>
<div class="form-group">
<label>تولید</label>
{{ form.qty }}
</div>
</div>
</div>
<div class="col-lg-4">
<div class="p-20">
<div class="form-group">
<label>ظرفیت</label>
{{ form.cap }}
</div>
<div class="form-group">
<label>ظرفیت طراحی</label>
{{ form.designCap }}
</div>
<div class="form-group">
<label>برنامه</label>
{{ form.plan }}
</div>
<div class="form-group">
<label>واحد</label>
{{ form.unit }}
</div>
</div>
</div>
</div>
<button type="button" formmethod="POST" class="btn btn-primary waves-effect waves-light">تایید</button>
</form>
</div>
</div>
</div>
因此,我使用了input标记,而不是类型为submit的按钮,它起作用了尝试用type=submit替换type=button以提交表单尝试了它,但没有起作用用以下内容替换您的按钮:
@login_required(login_url='login')
@allowed_users(allowed_roles=['editor'])
def create_production(request):
print(request.method)
if request.method == 'POST':
comId = Company.objects.values_list('id', flat=True).get(userId=request.user)
form = CreateProduction(request.user, comId, request.POST)
if form.is_valid():
production = form.save(commit=False)
production.user = request.user
production.save()
return redirect('/')
else:
comId = Company.objects.values_list('id', flat=True).get(userId=request.user)
form = CreateProduction(request.user, comId)
return render(request, 'production/production_form.html', {'form': form})