![](/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.