1

以前の ModelForm の経験から、フォームのコンストラクターでウィジェットの属性をオーバーライドできるはずです。これは管理者用ではなく、テンプレート用です。

ただし、モデルには ImageField である「logo」というフィールドがあります。コンストラクターで「href」属性をオーバーライドしようとすると、機能しません...渡したかった変更された URL ではなく、通常の URL のみを返します (以下のコードを参照)。

これに対する回避策はありますか?

def __init__(self, *args, **kwargs):
    super(ResourceUserModelForm, self).__init__(*args, **kwargs)
    self.fields['user'].widget = forms.HiddenInput()
    self.fields['state'].widget = forms.HiddenInput()
    self.fields['ideal_candidate'].widget = forms.HiddenInput()
    self.fields['logo'].widget.attrs['href'] = os.path.join( "media", self.instance.logo.url )
4

0 に答える 0