我正在模板中使用此代码将信息附加到GET请求
"{% url 'foo_create'%}?fooHolder_pk={{fooHolder.pk}}"
,我有一个表格。现在我想使用fooHolder.pk将它作为外键以GET请求的形式附加到foo。但是当我这样做的时候。 POST请求仍然显示外键为空。
注意:我正在使用基于函数的视图
视图
def foo_create(request):
data = dict()
if request.method == 'POST':
form = fooForm(request.POST,request.FILES)
if form.is_valid():
form.save()
data['form_is_valid'] = True
foos = foo.objects.all()
data['html_foo_list'] = render_to_string('app1/includes/partial_foo_list.html',{'foos':foos})
else:
# print(form.errors)
data['form_is_valid'] = False
else:
fooHolder_pk = int(request.GET['fooHolder_pk'])
form = fooForm()
form.fooHolder = fooHolder.objects.get(id = fooHolder_pk)
form.save(commit=False)
context = {'form':form}
data['html_form'] = render_to_string('app1/includes/partial_foo_create.html', context, request=request)
return JsonResponse(data)
答案 0 :(得分:0)
自从form
传递到模板以来,您应该在表单的操作URL中使用{{ form.fooHolder.pk }}
。
此外,在POST
处理程序内,您仍然可以使用request.GET.get('fooHolder')
,因为GET
字典始终包含所有 query参数,而与HTTP方法无关使用。