Вы не можете писать routingForm = routingForm(request.POST)
, так как это делает routingForm
локальной переменной, и она используется до того, как она назначена.
Однако я настоятельно рекомендую вам написать RoutingForm
в PerlCase , поэтому, начиная с заглавной буквы:
# app/forms.py
from django import forms
class <b>RoutingForm</b>(forms.Form):
areaDigit = forms.CharField(label='areaDigit', max_length=100)
product = forms.CharField(label='product', max_length=100)
Переменные в самой функции обычно записываются в snake_case. Итак, вид выглядит так:
# app/views.py
from django.shortcuts import render
from .forms import <b>RoutingForm</b>
from django.http import HttpResponse, HttpResponseRedirect
from .models import Product, Routing_Dest_Area
def get_route_list(request):
areaDigit = None
if request.method == 'POST':
#Get the posted form
<b>routing_form</b> = <b>RoutingForm</b>(request.POST)
if <b>routing_form</b>.is_valid():
areaDigit = <b>routing_form</b>.cleaned_data['areaDigit']
else:
return render(request, 'routing/test.html',{'areaDigit':areaDigit})