直接在模板中生成表单? (Django的)

时间:2017-04-02 16:54:13

标签: django django-forms django-templates django-views

我有一个菜单,我想放置表格。 此菜单是我的模板base.html的一部分,我的所有观点都会对其进行扩展。

我的简单表单(myapp/forms.py

class LoginForm(forms.Form):
    username = forms.CharField(label="name")
    password = forms.CharField(label="password", widgt=forms.PasswordInput)

我看到的最简单的方法是从views.py生成一个方法,该方法将在我的视图中的每个方法中调用。类似于:

def preprocess(request):
   forms = []
   forms.extend(LoginForm(), SubscribeForm(), ... )
   return forms

def myview1(request):
   forms = preprocess(request)
   ...
   return render(request, "template1.html", locals()) #template1 extends base.html

def myview2(request):
   forms = preprocess(request)
   ...
   return render(request, "template2.html", locals()) #template2 extends base.html

base.html:

<html>
{{ forms[0].as_p }}
{{csrf_token }}
</html>

所有这些代码都是未经测试的,并且可能由于某些错误而无法正常工作,但我敢打赌你能得到这个想法。

这是最好的方法吗?在模板中直接生成表单的一些方法?我也可以在模板中自己编写表格,但这不是我想要实现的目标。

0 个答案:

没有答案