CRM-Modelformset

  • 效果图

利用modelformset实现上面的效果:

views.py文件:

from user.formself.myform import RegForm, CustomerFrom, ConsultRecordFrom, EnrollMentFrom,CourseReFrom,StudyRecordFrom
from django.forms.models import modelformset_factory class StudyRe(View):
"""
学习记录
"""
def get(self,request):
coursere_id = request.GET.get('coursere_id') # 获取课程记录的pk
study_record = models.StudyRecord.objects.filter(course_record_id=coursere_id) # 根据课程记录的ID进行筛选
formset = modelformset_factory(model=models.StudyRecord,form=StudyRecordFrom,extra=0) # modelform加工厂,加工数据
formset = formset(queryset=study_record) # 把筛选后的结果放入到modelformset_factory进行加工 return render(request,'studyrecord/studtrecord.html',{'formset':formset}) def post(self, request):
formret = modelformset_factory(model=models.StudyRecord,form=StudyRecordFrom,extra=0)
form_set = formret(request.POST)
if form_set.is_valid():
form_set.save()
return redirect(reverse('user:studyrecord'))

yform.py文件:

class StudyRecordFrom(forms.ModelForm):
"""
学习记录
""" class Meta:
model = models.StudyRecord
fields = '__all__'

html文件:

{% extends 'customer_page/starter.html' %}

{% block header %}
<h1>学习记录</h1>
{% endblock %} {% block content %}
<div>
<a href="" class="add btn btn-success pull-left">添加</a>
<div class="row">
<div class="col-lg-4 pull-right">
<form action="" method="get">
<div class="col-lg-3" style="left: 32px;">
<select id="search_field" class="form-control" name="search_field">
<option value="name">学员</option>
</select>
</div>
<div class="col-lg-9">
<div class="input-group">
<input name="kw" id="kw" type="text" class="form-control" placeholder="Search for...">
<span class="input-group-btn">
<button class="btn btn-default search-btn" type="submit">Go!</button>
</span>
</div>
</div>
</form>
</div>
</div>
<form action="" method="post">
{% csrf_token %}
{{ formset.management_form }} <!--modelformset_factory的处理标志-->
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>序号</th>
<th>考勤</th>
<th>本节成绩</th>
<th>作业批语</th>
<th>某节课程</th>
<th>学员</th>
</tr>
</thead>
<tbody>
{% for field in formset %}
<tr>
{{ field.id }} <!--设置ID来区分每条记录,默认隐藏-->
<td>{{ forloop.counter }}</td>
<td>{{ field.attendance }}</td>
<td>{{ field.score }}</td>
<td>{{ field.homework_note }}</td>
<td>{{ field.instance.course_record}}</td> <!--禁止选择更改-->
<td class="hidden">{{ field.course_record}}</td>
<td>{{ field.instance.student }}</td>
<td class="hidden">{{ field.student }}</td>
</tr>
{% endfor %} </tbody>
</table>
<button type="submit" class="btn btn-success">保存</button>
</form>
<nav aria-label="Page navigation">
<ul class="pagination">
{{ page_html|safe }}
</ul>
</nav>
</div> {% endblock %} {% block script %}
<script>
$('#search_field').val('{{ search_field|default:"name" }}');
$('#kw').val('{{ kw|default:"" }}');
</script>
{% endblock %}

CRM-Modelformset的更多相关文章

  1. crm录入成绩modelformset组件

    不基于formset组件的普通写法>> views: class RecordScoreView(View): # 录入成绩 def get(self, request,class_stu ...

  2. django基础 -- 10.form , ModelForm ,modelformset

    一.生成页面可用的 HTML标签 1.form 所有内置字段 Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label ...

  3. Django之路12——form modelform formset modelformset的各种用法

      首先上结论: form适用于对单个表单的操作,并且需要对每个字段的验证规则自定义. modelform:适用于对用户提交的单个表单操作,字段可以用model中的表的字段来作为验证规则,适用于快速的 ...

  4. CRM 总结

    目录 一. CRM客户关系管理系统 1. CRM是什么? 里面都有哪些功能(业务)? 2. 什么是公户?什么是私户?为什么要做这个区分? 3. 请列举出CRM系统中的表 4. 通过ORM操作对数据库的 ...

  5. CRM总结大纲

    目录 一. CRM客户关系管理系统 1. CRM是什么? 里面都有哪些功能(业务)? 2. 什么是公户?什么是私户?为什么要做这个区分? 3. 请列举出CRM系统中的表 4. 通过ORM操作对数据库的 ...

  6. form modelform formset modelformset的各种用法

    form modelform formset modelformset的各种用法   首先上结论: form适用于对单个表单的操作,并且需要对每个字段的验证规则自定义. modelform:适用于对用 ...

  7. CRM项目讲解和django知识点回顾

    今天想把之前写的CRM项目梳理下,顺便回顾一下djiango的部分重要知识. 1.登录页面(包含简单验证码) 首先来看下CRM的登录页面,样式啥的不重要,大家可以去jquery ui的网站上或者其他地 ...

  8. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...

  9. SAP CRM 性能小技巧

    导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...

  10. SAP CRM 树视图(TREE VIEW)

    树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...

随机推荐

  1. Excel 如何查找 问号 “?” 、星号“*” 、 “~”号

    若需要查找问号“?”,则在查找内容文本框中输入“~?”.“?”为通配符,代替单个任意字符,如果直接查找,会找到包含数据的所有单元格. 若需要查找星号“*”,则在查找内容文本框中输入“~*”.“*”为通 ...

  2. bind 0.0.0.0的作用是什么呢?

    背景描述: 今天在看redis的内容,看到同事在配置文件中将bind配置为0.0.0.0进行监听,不明白什么意思就查询了下,在此记录下. 解释: 0.0.0.0在服务器的环境中,指的就是服务器上所有的 ...

  3. (转)SQLAlchemy入门和进阶

    URL:https://zhuanlan.zhihu.com/p/27400862 https://www.cnblogs.com/mrchige/p/6389588.html---SQLAlchem ...

  4. c++ stl bind函数介绍

    /* stl::bind 使用 */ #include <iostream> #include <string> #include <functional> /* ...

  5. (转)自动微分(Automatic Differentiation)简介——tensorflow核心原理

    现代深度学习系统中(比如MXNet, TensorFlow等)都用到了一种技术——自动微分.在此之前,机器学习社区中很少发挥这个利器,一般都是用Backpropagation进行梯度求解,然后进行SG ...

  6. [LeetCode] 297. Serialize and Deserialize Binary Tree 二叉树的序列化和反序列化

    Serialization is the process of converting a data structure or object into a sequence of bits so tha ...

  7. [LeetCode] 602. Friend Requests II: Who Has Most Friend? 朋友请求 II: 谁有最多的朋友?

    In social network like Facebook or Twitter, people send friend requests and accept others' requests ...

  8. LeetCode:接雨水【42】

    LeetCode:接雨水[42] 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1, ...

  9. react前端模版Material-UI.类似于antd/bootstrap

    Material-UI Material-UI是一个实现了Google's Material Design设计规范的react组件库,开箱即用,使用它可以快速搭建出赏心悦目的应用界面. 文档 各种模版 ...

  10. Python进阶之面向对象

    新式类与旧式类 区别: 在2.2版本之前所有的类都是旧式类,3.x版本已取消旧式类 旧式类一般的写法,不继承任何父类 class Person: def __init__(self, name): s ...