盡管正確更新了 django 模型,但 POST 數(shù)據(jù)并不總是符合我的邏輯def new_record(request): form = RecordForm(request.POST or None) if request.method == 'POST': if form.is_valid(): form.save() return HttpResponseRedirect('/new_record') else: form = RecordForm() item1 = request.POST.getlist('checkbox_1') item2 = request.POST.getlist('checkbox_2') item3 = request.POST.getlist('checkbox_3') print(item1) print(item2) print(item3) if 'on' in item1: print("Checkbox 1 is true") write_pdf_view(textobject='textobject', exam_record_number='123') else: print("Checkbox 1 is False") if 'on' in item2: print("Checkbox 2 is true") else: print("Checkbox 2 is False") if 'on' in item3: print("Checkbox 3 is true") else: print("Checkbox 3 is False") return render(request=request, template_name='main/new_record.html', context={"form": form} )我希望做的基本上是檢查是否選中了一個復(fù)選框并將一個值傳遞給一個函數(shù),如果這是真的,現(xiàn)在我已經(jīng)將 y write_pdf_view 值修復(fù)為我知道存在的東西并且這也不起作用(我導(dǎo)入了那個以上)我覺得這對于有經(jīng)驗(yàn)的人來說可能是微不足道的,我是一個新的愛好者,只是想學(xué)習(xí)!非常感謝任何幫助。
1 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個贊
您的 if 語句在 GET 而不是 POST 期間執(zhí)行。
我建議使用基于類的視圖結(jié)構(gòu)來構(gòu)建您的代碼,如下所示:
from django.views import View
class NewRecord(View):
def get(self, request):
return render(request, 'main/new_record.html', {'form': RecordForm})
def post(self, request):
form = RecordForm(request.POST)
if form.is_valid():
form.save()
item1 = request.POST.get('checkbox_1', None)
##place the rest of your logic here
return HttpResponseRedirect('/new_record')
添加回答
舉報(bào)
0/150
提交
取消