我的 django 项目的所有视图功能都需要form
。
我有common template
用于打印表单但是为此我必须从我的所有视图函数中传递表单。
我有 8个应用。要在我的所有视图函数中包含该表单。此外,表单可以绑定或空白,具体取决于会话值。
如果我写下包含表格的行,我必须写5行。所以我必须将这5行写入我的所有视图函数。有没有办法以更好的方式做到这一点?
forms.py
class LanguageSelectForm(forms.Form):
language = forms.ModelChoiceField(empty_label='--Select A Language--', queryset=Language.objects.all(),
widget=forms.Select(attrs={'class': 'form-control'}))
views.py
中的
form = LanguageSelectForm
if 'language_id' in request.session:
form_data = dict()
form_data['language'] = request.session['language_id']
form = LanguageSelectForm(form_data)
这些是我必须放在所有视图函数上的5行。
答案 0 :(得分:2)
如上所述 if seq == ():
return False
elif item == car(seq):
return True
return search_sequence(cdr(seq, item))
,您可以使用@Mubariz Feyziyev
在每个模板中呈现表单。这是一种方法。另外,
如果你对context processors
使用django表单感到满意:
not
值设置为特定网址,例如action
,/api/handle-my-nice-form
记录(url
)如果您是/api/handle-my-nice-form/
的新用户,则应使用内置表单。但随着您的应用变得越来越复杂,或者您决定使用像Django
或React
这样的库,建立Angular
以处理这类事情可能会更好。
答案 1 :(得分:1)
如果您想在django模板中使用此表单(每个),您必须编写上下文处理器: 请阅读此链接:
https://docs.djangoproject.com/en/1.10/_modules/django/template/context_processors/
https://docs.djangoproject.com/en/1.10/ref/templates/api/#writing-your-own-context-processors