1.CRM(Customer Relationship Management):客户关系管理系统
2.auto_now_add和auto_now的区别
c_time=models.DateTimeField(‘创建时间’,auto_now_add= True)
:即创建的一瞬间的时间被填进去
e_time=models.DateTimeField(‘修改时间’,auto_now= True)
:即修改后的时间把前一次的时间给覆盖掉。
3.Relation
- 一对一的关系:OneToOneField()
- 一对多的关系:ForeignKey()
- 多对多:MangToMany()
- *注意:*在其后都需要加入on_delete字段
4.继承与导入: - {% extends ‘stuednt/index.html’%}—即为继承stuednt/index.html下的文件
- {%load static%} 导入文件(该部分放在HTML的开头)。该部分修改完善后需要对
挖坑:
{%block%} {%endblock%}
填坑:可在里面进行相应的内容添加
6.排序(order_by):越靠近时间的越在前面(反排序),
7.button:提交按钮
8.placeholder
placeholder属性提供可描述输入字段预期值的提示信息(hint)。
该提示会在输入字段为空时显示,并会在字段获得焦点时消失。(
即没有在文本框里输入文字时会显示提示信息;待写入信息,里面的提示内容则会消失。)
注释:placeholder 属性适用于以下的 类型:text, search, url, telephone, email 以及 password。
注意
9.想让单选框被选中用checked
分页
- from student.models import Student
- from django.core.paginator import Paginator—(数据的分页,即导入分页工具)
- sts = Student.objects.all()
通过p=Paginator(sts,)进行实例化
通过 时间的逆序p = Paginator(sts.order_by(’-c_time’,3)进行排序 ,其中里面的数据3,指明的是每一页的条数。(即两个参数,第一个是数据集合,第二个是每页数据数量)
- 总数据:p.count
- 总页码数:p.num_pags()
- 第一页:page1 = p.page()
- 第一页的全部东西: page1.object_list
- 放回当前页的下一页的页码:page1.next_page_number()
- 页码范围:p.page_range
- 第一页的数据:page1 = p.page()
- 第一页的信息:page1.object_list
- 判断第一页是否有上一页:page1.has_previous()
- 判断第一页是否有下一页:page1.has_next()
数据的获取
sts = p.get_page(1)----获取第一页的信息(即每页数据显示)
for student in sts:—从sts中获取student数据
print(student)
每页数据条数
per_page = request.GET.get(‘per_page’,5)
当前页面
page = request.GET.get(‘page’,1)
允许第一页为空
p = Paginator(sts, per_page, allow_empty_frist_page=True)
编辑及添加页面