模型
一对一: OneToOneField(定义在任何一方都可以)
一对多: Foreignkey(必须定义在多的一方)
多对多: ManyToManyFiled(定义在任何一方都可以)
AutoField()-->自动生成id数据类型
class Student:
# OneToOneField定义在任何一方都可以
stu_info = OneToOneField(StuInfo)
# Foreignkey必须定义在多的一方
g = ForeignKey(Grade)
# ManyToManyFiled定义在任何一方都可以
c = ManyToManyFiled(Course)
class StuInfo:
id = AutoField()-->自动生成id数据类型
class Grade:
id = AutoField()
class Course:
id = AutoField()
已知学生对象stu: 查询班级: stu.g 查询拓展表: stu.stu_info 查询课程: stu.c
反过来查
已知拓展表stu_info对象: 查询学生: stu_info.student
已知班级grade对象: 查询学生: grade.student_set
已知课程cou对象: 查询学生: cou.student_set
模板
解析标签:
{% 标签 %}
标签有for、if、comment(注释)、static(静态链接)、
ifequal( {% if a=1 %}和{% if equal a 1 %}是一个意思)、
block(继承里的块)
extends(继承里的要写在子文件的最上面 后面跟父文件的名字)-->整个文件继承
解析变量:
{{ 变量 }}
循环:
forloop.counter -->编号
forloop.counter0 -->从0开始编号
forloop.revcounter -->逆序编号
forloop.revcounter0 -->从0开始的逆序编号
forloop.first -->第一个数据
forloop.last -->最后一个数据
继承:
super :必须写在坑里,是块级继承
extends(继承里的要写在子文件的最上面 后面跟父文件的名字)-->整个文件继承
{% block xxx %}-->块的开始 block:就是块/坑
{{ block.super }}
{% endblock %}-->块的结束,所有的结束块都是用end开头
静态加载:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
第一种方式:
<link href="/static/css/index.css">
第二种方式:
{% load static %}
{% static 'css/index.css' %}
网友评论