栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

分页Django表单集

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分页Django表单集

这是我发现问题的解决方案的一般示例:

forms.py
文件中:

class MyForm(ModelForm):    class meta:        model = MyModel        fields = ('description',)

views.py
文件中:

from django.core.paginator import Paginator, EmptyPage, PageNotAnIntegerFormSet = modelformset_factory(MyModel, form=MyForm, extra=0)if request.method == 'POST':    formset = FormSet(request.POST, request.FILES)    # Your validation and rest of the 'POST' preelse:    query = MyModel.objects.filter(condition)    paginator = Paginator(query, 10) # Show 10 forms per page    page = request.GET.get('page')    try:        objects = paginator.page(page)    except PageNotAnInteger:        objects = paginator.page(1)    except EmptyPage:        objects = paginator.page(paginator.num_pages)    page_query = query.filter(id__in=[object.id for object in objects])    formset = FormSet(queryset=page_query)    context = {'objects': objects, 'formset': formset}    return render_to_response('template.html', context,        context_instance=RequestContext(request))

您需要使用当前页面中的对象创建表单集,否则,当您尝试

formset = FormSet(request.POST,request.FILES)
在POST方法中进行操作时,Django会引发MultiValueDictKeyError错误。

template.html
文件中:

{% if objects %}    <form action="" method="post">        {% csrf_token %}        {{ formset.management_form }}        {% for form in formset.forms %} {{ form.id }} <!-- Display each form --> {{ form.as_p }}        {% endfor %}        <input type="submit" value="Save" />    </form>    <div >        <span > {% if objects.has_previous %}     <a href="?page={{ objects.previous_page_number }}">Previous</a> {% endif %} <span >     Page {{ objects.number }} of {{ objects.paginator.num_pages }} </span> {% if objects.has_next %}     <a href="?page={{ objects.next_page_number }}">next</a> {% endif %}        </span>    </div>{% else %}    <p>There are no objects.</p>{% endif %}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451838.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号