标签:har gem mod rom queryset modelform .sh cti max
1. views
from django.shortcuts import render from django.forms import modelformset_factory from app01.forms import Publisher from app01.forms import PunlisherForm # Create your views here. def publisher(request): data = Publisher.objects.all() Formset = modelformset_factory(Publisher,PunlisherForm,extra=0) formset_obj = Formset(queryset=data) if request.method == ‘POST‘: # form_obj = Form(request.POST,instance=edit_obj) formset_obj = Formset(request.POST,queryset=data) if formset_obj.is_valid(): formset_obj.save() return render(request,‘publisher.html‘,{‘formset_obj‘:formset_obj})
2. html
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>出版社列表</title> </head> <body> <h1>出版社列表</h1> <form action="" method="post"> {% csrf_token %} 防止跨站请求伪造 {{ formset_obj.management_form }} 告诉后端总共有哪些form 哪些发生了变化 <table border="1"> <thead> <tr> <th>#</th> <th>名称</th> <th>地址</th> </tr> </thead> <tbody> {% for form_obj in formset_obj %} <tr> <td>{{ forloop.counter }}</td> {{ form_obj.id }} <td> {{ form_obj.name }}</td> <td> {{ form_obj.addr }}</td> </tr> {% endfor %} </tbody> </table> <input type="submit" name="" id=""> </form> </body> </html>
3. models
from django.db import models # 出版社列表 class Publisher(models.Model): name = models.CharField(max_length=32) addr = models.CharField(max_length=128)
4. forms
from django import forms from app01.models import Publisher class PunlisherForm(forms.ModelForm): class Meta: model = Publisher fields = ‘__all__‘
标签:har gem mod rom queryset modelform .sh cti max
原文地址:https://www.cnblogs.com/cavalier-chen/p/10016202.html