如何使用Material Design for django表单在单个页面中呈现多个表单?

时间:2017-09-20 08:54:04

标签: python django django-viewflow

如何使用Material Design for django表单在单个页面中显示两个表单?

在forms.py中,我们可以添加类似

的代码
template = Template("""
    {% form %}
        {% part form.username prefix %}<i class="material-icons prefix">account_box</i>{% endpart %}
        {% part form.email prefix %}<i class="material-icons prefix">email</i>{% endpart %}
        {% part form.password prefix %}<i class="material-icons prefix">lock_open</i>{% endpart %}
    {% endform %}
    """)

然后在我们的模板中

{% block formbody %}
    {% include form.template %}
{% endblock %}

我们如何在页面上再添加一个表格,比如说form2?

1 个答案:

答案 0 :(得分:1)

the documentation中解释了这一点:

  

选项:

     

form - 要呈现的表单实例,如果未指定,则从表单上下文变量

获取

(强调我的)

所以要呈现不同的形式:

{% form form=login_modal %}
     form code here
{% endform %}

这意味着在您的视图中,您需要提供绑定到表单的上下文变量:

from viewflow.flow.views import PerformTaskView
from .forms import LoginForm

class MyView(PerformTaskView):
    def get_context_data(self, **kwargs):
        context = super(MyView, self).get_context_data(**kwargs)
        context['login_modal'] = LoginForm()
        return context