我想使用窗体在数据库中创建新对象,但无法运行此视图。我需要在哪里做一些更改?你知道吗
我试图删除“def get”函数,但它只是一个白色的屏幕,就像之后的空白页。你知道吗
class AddOrderForm(forms.Form):
airport = forms.ChoiceField(choices=AIRPORT_CHOICES, widget=forms.RadioSelect(AIRPORT_CHOICES))
direction = forms.ChoiceField(choices=DIRECTION_CHOICES)
adress = forms.CharField(widget=forms.TextInput(attrs={"placeholder": "Turmstraße 57"}))
client = forms.CharField()
telephone = forms.CharField(widget=forms.TextInput(attrs={"placeholder": "+49XXXXXXXXX"}))
flight_number = forms.CharField(widget=forms.TextInput(attrs={"placeholder": "LL 0000"}))
plane = forms.DateTimeField(input_formats=['%Y-%m-%d'])
pick_up = forms.DateTimeField(input_formats=['%Y-%m-%d'])
gate = forms.CharField(widget=forms.TextInput(attrs={"placeholder": "G or A11"}))
driver = forms.ChoiceField(choices=DRIVER_CHOICES)
class AddOrderView(View):
def get(self, request):
form = AddOrderForm()
return render(request, 'orders/add_order.html', {'form': form})
def post(self, request, *args, **kwargs):
form = AddOrderForm(request.POST)
if form.is_valid():
order = Order.objects.create(airport=form.cleaned_data['airport'],
direction=form.cleaned_data['direction'],
adress=form.cleaned_data['adress'],
client=form.cleaned_data['client'],
telephone=form.cleaned_data['telephone'],
flight_number=form.cleaned_data['flight_number'],
plane=form.cleaned_data['plane'],
pick_up=form.cleaned_data['pick_up'],
gate=form.cleaned_data['gate'],
driver=form.cleaned_data['driver'])
return redirect(f'order/{order.id}')
return render(request, 'orders/add_order.html', {'form': form})
def get()函数返回add_订单.html这就是为什么当你试图删除函数时,Html页面并没有显示任何数据,最终显示为空白。你知道吗
RadioSelect
的第一个参数应该是attrs
,但您正在传递选择。你知道吗表单字段将负责向小部件传递选择,因此最简单的解决方案是将代码更改为
widget=forms.RadioSelect
。你知道吗相关问题 更多 >
编程相关推荐