HttpResponse # 返回的是字符串 render # 渲染一个HTML静态文件,模板文件 redirect # 重定向的 """在视图文件中得视图函数必须要接收一个形参request,并且,视图函数也要有返回值:HttpResponse对象"""
settings.py文件就是Django框架的全局文件 注册应用 database templates 调试模式 静态文件的配置 语言的修改 时区的修改
静态文件是什么? css js img 第三方的前端框架 第三方工具 # 我们一般把HTML的静态文件放在templates文件夹下,静态文件放在哪里呢? 一般放在static文件夹 我们要手动的帮助我们创建static文件夹 static css js img ... # 还需要在配置文件中配置一些数据 STATIC_URL='/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,'static'), os.path.join(BASE_DIR,'static1'), os.path.join(BASE_DIR,'static2') ] ## 前端页面中得路劲 /static/css/my.css ## 动态解析 {% load static %} {% static 'css/my.css' %} # 千万不要按照前端里的路径查找方法了
request.method # 潘墩请求方式的 GET POST request.POST.get() request.POST.getlist() request.GET.get() request.GET.getlist()
1. 在配置文件中配置一个数据 DATABASES={ 'NAME': 'HOST': 'PORT': 'USER': 'PASSWORD': 'CHARSET': } 2. 在任意的__init__文件中条件两句话 import pymysql pymysql.install_as_mysqldb() 3. opertions.py-------->会报错 decode------->encode
对象映射模型 类-------->表名 对象-------->记录 属性-------->字段 # 在models.py文件中书写 class UserInfo(models.Model): aid = models.AutoField(primary_key=True) username = models.CharField(max_length=32) # 迁移数据库 python3 manage.py makemigratinos python3 manage.py migrate # 字段的增删改查
数据的增删改查(insert update delete select)
如何创建表关系(一对一 一对多 多对多)
Django框架的请求生命周期流程图(帮助你梳理Django的执行流程)
路由层
无名分组 有名分组(正则表达式)
反向解析
虚拟环境
路由分发
1. 用户列表的展示 # 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 2. 修改数据的逻辑分析 # 1. 先确定修改哪条记录------>怎么样确定修改哪条记录? # 2. 通过什么字段可以确定唯一一条记录? 主键id,要携带主键id到后端. # 3. 在后端接收主键id值,然后根据这个id值再去表中查询数据,查询一条 # 4. 然后把查询的数据在渲染到页面中,然后在修改 # 5. 把修改之后的表单提交到后端,在做修改 3. 删除功能的分析 # 1. 给删除按钮加一个链接,携带当前记录的id值 # 2. 后端要接收这个主键id值 # 3. 后端直接执行删除操作
""" 一对一 一对多 多对多 没有关系 """ 图书表 出版社表 作者表 作者详情表 ### 换位思考法判断表关系 图书表和出版社表 >>> 一对多 >>> 图书表是多,出版社是一 >>> 建在多的一方 图书表和作者表 >>> 多对多 >>> 需要第三张表 作者表和作者详情表 >>> 一对一 >>> 外键字段一般建在查询频率较高的 ### 在Django中如何创建表关系 """回头复习表关系""" #######################################django1.x####################################### class Book(models.Model): title = models.CharField(max_length=64) """ max_digits=None,:总位数 decimal_places=None:小数位数 """ # price decimal(8,2) price = models.DecimalField(max_digits=8, decimal_places=2) # publish_id = models.ForeignKey(to='Publish', to_field='id') """对于外键字段关系,会自动帮我们拼接_id""" publish = models.ForeignKey(to='Publish') """authors它是一个虚拟字段,它不会实际在表中创建出来这个字段,这一句可以自动帮助我们创建出来第三张表""" authors = models.ManyToManyField(to='Author') """出版社表""" class Publish(models.Model): name = models.CharField(max_length=64) addr = models.CharField(max_length=64) """作者表""" class Author(models.Model): name = models.CharField(max_length=64) author_detail = models.OneToOneField(to='AuthorDetail') """作者详情表""" class AuthorDetail(models.Model): phone = models.CharField(max_length=64) email = models.CharField(max_length=64)
"""它可以帮助你们熟练django的一个完整执行流程"""