0

フォームを初期化してその中に確認したい文字列を見つけたときに、現在のURLを取得したいと考えています。この文字列に応じて、radioselect ウィジェットに入れるデータを変更したいと考えています。URLに応じて異なるradioselectの選択肢を表示したいと思います。

class FunctionForm(forms.ModelForm):

def __init__(self, *args, **kwargs):

    # get url
    url=request.get_full_path
    # treat url
    string = treat_url(url)

    if (string=='ATC'):
        self.fields['function_name'].queryset= FUNCTION_ATC_CHOICES
    if (string=='ATS'):
        self.fields['function_name'].queryset= FUNCTION_ATS_CHOICES

    super(FunctionForm,self).__init__(*args,**kwargs)
    #function_name = forms.ChoiceField(widget=RadioSelect,choices=FUNCTION_ATC_CHOICES) 

class Meta :
    model = Function
    exclude =('session_number')

私の見解 :

def add_function (request)
if request.method == 'POST': # If the form has been submitted...
    function_form = FunctionForm(request.get_full_path,request.POST)
4

1 に答える 1

3

フォームをインスタンス化するときに、リクエスト オブジェクトを kwarg として渡すだけです。

于 2012-07-25T08:50:53.023 に答える