1
我想通過django中的templatetag呈現表單,以便我可以在多個頁面上呈現表單。但是,當我嘗試呈現它時,出現以下錯誤:通過TemplateTag呈現Django表格
_ init_()至少需要2個參數(給出1個參數)。
從模板標籤不會將用戶信息傳遞到表單,我相信這會出現。經過身份驗證的用戶應該是傳遞給表單的用戶。
Forms.py:
class ExpressionForm(forms.ModelForm):
class Meta(object):
model = Expression
exclude = ('user',)
body = forms.CharField(widget=forms.Textarea(attrs={'rows': 2, 'cols': 19}), required=False, label=_('Body'))
def __init__(self, user, *args, **kwargs):
super(ExpressionForm, self).__init__(*args, **kwargs)
self.fields['expressiontype'].queryset = ExpressionType.objects.all()
self.fields['expressiontype'].required = True
在我templatetag的.py:
@register.inclusion_tag('expressions/templatetags/express.html')
def express():
return {'form': ExpressionForm()}
我怎麼會去用戶傳遞到形式通過templatetag?謝謝:)
根據你的__init__你應該將用戶傳遞給窗體:ExpressionForm(user) – AmirW
現在完美工作,謝謝:) – iranana