![](/img/trans.png)
[英]Django: Using get_form_kwarg to pass url pramater into form __init__ for ModelChoiceField selection filiter
[英]Django pass a url kwarg into a form.Form
我正在尝试从 url 获取表单的初始值。表单 class 表单。
网址.py
path('nueva/<client_id>/', new_check_view, name='nueva valoración'),
视图.py
def new_check_view(request, client_id):
my_form = NewCheckForm()
# print (client_id)
if request.method == "POST":
my_form = NewCheckForm(request.POST)
if my_form.is_valid():
Check.objects.create(**my_form.cleaned_data)
else:
print(my_form.errors)
context = {
"form": my_form
}
return render (request, 'checks/new-check.html', context)
forms.py
class NewCheckForm(forms.Form):
user_id = forms.ModelChoiceField(
label='Nombre',
queryset= Client.objects.all(),
initial=client_id,
)
但是,我不知道如何将这些 kwargs 从视图传递到 class 表单。
您应该使用initial
参数。 对于您的代码:
from django.shortcuts import get_object_or_404
def new_check_view(request, client_id):
client = get_object_or_404(Client, pk=client_id)
my_form = NewCheckForm(initial={'user_id': client})
记得从NewCheckForm
中删除initial=client_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.