1.modelform

class StudentStudyRecordModelForm(forms.ModelForm):

    class Meta:
model = StudentStudyRecord
fields = ["score","homework_note"] def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
for field in self.fields.values():
field.widget.attrs.update({"class":"form-control"})

2.view

from django.forms.models import modelformset_factory
class EditStudentStudyRecordView(View): def get(self,request,edit_id):
model_formset_cls = modelformset_factory(model=StudentStudyRecord,form=StudentStudyRecordModelForm,extra=0)
queryset = StudentStudyRecord.objects.filter(classstudyrecord_id=edit_id)
formset = model_formset_cls(queryset=queryset) class_study_record = ClassStudyRecord.objects.filter(pk=edit_id).first()
title = class_study_record return render(request,"edit_studentstudyrecord.html",{"formset":formset,"title":title}) def post(self,request,edit_id):
model_formset_cls = modelformset_factory(model=StudentStudyRecord, form=StudentStudyRecordModelForm, extra=0) formset = model_formset_cls(request.POST)
if formset.is_valid():
formset.save() return redirect(request.path)

3.html

 <form method="post" action="">
{% csrf_token %}
{{ formset.management_form }}#必须有,否则发送post请求时会报错 <table class="table table-bordered">
<thead>
<tr>
<th>姓名</th>
<th>考勤</th>
<th>作业成绩</th>
<th>作业评语</th>
</tr>
</thead>
<tbody>
{% for form in formset %}
<tr>
{{ form.id }}
<td>{{ form.instance.student }}</td>
<td>{{ form.instance.get_record_display }} </td>
<td>{{ form.score }} </td>
<td>{{ form.homework_note }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<input type="submit" value="保存">
</form>

最新文章

  1. Unity使用protobuf-net进行二进制序列化与反序列化
  2. c# 多线程与异步调用
  3. php odbc连接 查询显示不完整问题
  4. java 判断两个数是否异号
  5. 杭电ACM2057--A + B Again
  6. JS事件(事件冒泡和事件捕获)
  7. Linux用户空间与内核空间
  8. shell 数组
  9. (转)你知道Android也有安全模式吗?(地球人都知道了吧)
  10. Oracle EBS-SQL (QA-2):检查接收未检验.SQL
  11. img 鼠标滑上后图片放大,滑下后图片复原
  12. git全部使用步骤
  13. vue2.0父子组件以及非父子组件如何通信
  14. Oracle 12c: RMAN restore/recover pluggable database
  15. Log4J基础详解及示例大全(转)
  16. mysql二进制日志详解
  17. ansible 角色登陆
  18. 【hihocoder编程练习赛9】闰秒
  19. ASP站点无法访问怎么办
  20. ardunio

热门文章

  1. c# Aspose.Cells 通过Excel模板生产excel数据再打印
  2. 二、Spring中的@ComponentScan自动扫描组件
  3. 史上最详细bitbucket入门手册,手把手操作指南
  4. Linux03 文件的相关操作(touch、rm、mv、cat)
  5. PHP提取中英文首字母的方法(首字母索引)
  6. argv和raw_input的区别
  7. Aix6.1下su命令不能切换环境变量的问题
  8. yield再理解--绝对够透彻
  9. golang---获取windows系统相关信息
  10. 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库