簡體   English   中英

Django 將一個 url kwarg 傳入一個表單。

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM