繁体   English   中英

在Django 1.11中,如何使用formset_factory呈现表单

[英]In django 1.11, how can I render form using formset_factory

我几天前开始学习Django1.11,但是我不明白如何使用formset_factory渲染表单。

这是myproject / app / views.py文件。

from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from .forms import ArticleFormSet

def get_name(request):
    form = ArticleFormSet()
    return render(request, 'name.html', {'form' : form})

这是app / forms.py文件。

from django import forms
from django.forms import formset_factory

class ArticleForm(forms.Form):
    title = forms.CharField()
    pub_date = forms.DateField()

def ArticleFormSet(self):
    ArticleFormSet = formset_factory(ArticleForm)

这是name.html文件。

<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
    <input type="submit" value="Submit" />
</form>

我试图在浏览器上呈现表单,但是发生了这样的异常。

ArticleFormSet()恰好接受1个参数(给定0个)

我不知道怎么了。

您不必为formset_factory创建函数。 删除ArticleFormSet函数,仅此行就足够了。

from django import forms
from django.forms import formset_factory

class ArticleForm(forms.Form):
    title = forms.CharField()
    pub_date = forms.DateField()

ArticleFormSet = formset_factory(ArticleForm)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM