Table of Contents
- p.name 进程名称
- p.pid 对应子进程Pid
- p.is_alive() 查看子进程是否活着
- p.daemon 设置父进程退出,子进程也退出,
- 要在start()前设置
- 通常join() 和 p.daemon只使用一个
multiprocessing 进程池使用
-
为什么要使用进程池
- 1.重复的创建进程,销毁进程,占用资源
- 2.任务众多的时候,频繁创建销毁,计算机压力过大
-
进程池的原理:
- 创建指定个数的进程,等待执行任务,可以重复利用
-
创建进程池的方法
- 1.导入Pool
- from multiprocessing import Poll
- Pool([processes]) processes参数是进程数量,默认是系统自动判定
- 2.将事件加入到进程池队列
- pool.apply_async(target,args,kwds)
- 参数说明
- target 是一个函数
- args kwds是函数的参数 , args类型是一个元组
- 注意这里第二个参数是kwds,类型是一个字典
- 一定要注意参数个数
- 返回值:返回函数事件对象
- 3.关闭进程池
- pool.close()
- 先关闭进程池,关闭之后就不能加入新的进程
- 4.回收进程池
- pool.join()
- 1.导入Pool
2.灵感代办
- 线程的复习
- 函数式开发复习
3.学习内容
-
Django静态文件使用
-
Django静态文件
- 不能和服务器交互(例如js,css,图片,音视频)
-
静态文件配置
- settings.py中(配置路由访问地址,跟文件所存实际地址)
- 设置STATIC_URL=’路由地址‘
- 设置STATICFILES_DIRS=(os.path.join(BASE_DIR,'static'),)
-
访问静态文件
- 1.静态路径直接访问
- <\img src="http://127.0.0.1:8000/static/images/lena.jpg">
- 2.标签访问
- 1.加载static目录 {% load static%}
- 2.使用静态资源 {% static ‘路径’ %}
-
Django APP
-
什么是应用
- 模块化开发,将相应模块写到一个地方,易于管理
- 可以包含自己的路由,视图
- 使用include(“包名”)来转发urls
-
如何创建应用
- python manage.py startapp 应用名称
-
Django应用结构组成
- migrations 保存数据迁移的中间文件
- __init__ 包路径的默认文件
- admin.py 应用后台管理配置文件
- apps.py 应用属性配置文件
- models.py 与数据库相关模型映射文件
- tests.py 应用单元测试文件
- views.py 定义视图处理函数文件
-
配置安装应用APP
- settings.py文件中
- INSTALLED_APPS = [ ‘自定义应用名称’ ]
-
Django 应用的路由分布式
- url(r'^news/',include('news.urls')),
- urls文件需要自己创建
-
Django 数据库和模型
-
数据库配置文件
- 在settings.py中的DATABASES变量中
- ‘default’ = {‘ENGINE’:””,
- ’NAME’:’databaseName’
- ‘USER’:’用户名’
- ‘PASSWORD’:’密码‘
- ‘HOST’:’主机地址’
- ‘PORT’:端口号
- }
-
数据库后端引擎(django.db.backends.)
- mysql 、sqlite、oracle、postgresql
-
数据名命名方式
- APP名称_类名(小写)
-
pymsql支持
- 写在项目根目录的init中
- import pymysql
- pymysql.install_as_MySQLdb()
- django2.2以上 ,不支持pymysql
-
models模块使用
-
类要继承model.Model
-
FIELD_TYPE 字段类型
-
作用:创建指定的字段
- BooleanField() 真假
- CharField() varchar 必须执行max_length=数字
- DateField() 数据库类型 date
- 参数:DateField.auto_now 自动设置该字段为当前时间(True/False)
- 参数:DateField.auto_now_add 第一次被创建就设置当前时间(True/False)
- 参数:DateField.defalut 设置当前时间(True/False)
- 以上参数只能选一个使用
- DateTimeField() 数据库类型 datatime()
- DecimalField() 数据库类型decimal(x,y)
- DecimalField.max_ddigits:位数总数
- DecimalField.decimal_places:小数点后面数字数量
- FloatField() 数据库类型 double()
- TextField() 数据库类型longtext
-
FIELD_OPTIONS 字段选项
-
作用:创建列时候做修饰,多个选项用,隔开
- primary_key (True,False) 是否设置主键,主键就不能null和unique
- null (True,False) 是否可以设置为空
- default ’默认值‘ 给字段设置一个默认值
- db_index (True,False) 是否增加索引
- unique (True,False) 是否设置值为一
- db_column 指定一个列名,不指定就使用属性名
-
数据库的迁移:
- 迁移就是将py写好的模型,同步到数据库
- 1.生成更新文件: makemiarations
- 2.执行迁移脚本: migrate
-
执行迁移失败处理
- 1.删除所有APP下migrataions下的000开头的Py文件
- 2.删除mysql的数据表,或者数据库
- 3.重新执行命令/重新创建数据库
-
数据库的操作(CURD操作)
- 数据库的增删改查通过模型管理器实现
- 模型管理器:
- 自己创建的类.objects
-
创建数据对象
- 原理:通过python对象 和数据库做映射
- 创建方法:
- 1.自己定义的模型类.objects.create(属性=值,属性=值)
- 一个create 就代表数据库的一条记录
- 2.创建对象(自己定义的类)调用save() 保存
- 3.使用字典创建对象,并调用save()进行保存
- 就是传递参数时候用**kwargs
4.扩展延伸知识
-
pycharm 配置django 模板
-
pycharm 将终端替换为cmder
-
form表单中一键多值问题
-
传递
- get方式传递就是 &name=1&name=2
-
接收
- 要用getlist来接收参数,不然只能获取到最后一个值
-
JavaScript变量提升注意点
- 如果变量提升四步完成
-
css translate
- 平移属性
-
django 2.2版本不支持 pymsql
- 删除pymysql
- 安装mysqlclient
- https://blog.csdn.net/lpw_cn/article/details/103978909
-
mysqlclient使用
- 跟pymysql使用差不多
- https://blog.csdn.net/Raily_Qi/article/details/91971458
-
django 模型和字段
-
pycharm Django中不显示objects管理器
- 在创建的模型中添加objects = models.Manager()
- https://blog.csdn.net/wang_hugh/article/details/92634976
5.知识内容个人梳理
6.今天都复习了之前的什么内容
-
Django静态文件使用
-
Django静态文件
- 不能和服务器交互(例如js,css,图片,音视频)
-
静态文件配置
- settings.py中(配置路由访问地址,跟文件所存实际地址)
- 设置STATIC_URL=’路由地址‘
- 设置STATICFILES_DIRS=(os.path.join(BASE_DIR,'static'),)
- settings.py中(配置路由访问地址,跟文件所存实际地址)
-
访问静态文件
- 1.静态路径直接访问
- <\img src="http://127.0.0.1:8000/static/images/lena.jpg">
- 2.标签访问
- 1.加载static目录 {% load static%}
- 2.使用静态资源 {% static ‘路径’ %}
- 1.静态路径直接访问
-
-
Django APP
-
什么是应用
- 模块化开发,将相应模块写到一个地方,易于管理
- 可以包含自己的路由,视图
- 使用include(“包名”)来转发urls
-
如何创建应用
- python manage.py startapp 应用名称
-
Django应用结构组成
- migrations 保存数据迁移的中间文件
- __init__ 包路径的默认文件
- admin.py 应用后台管理配置文件
- apps.py 应用属性配置文件
- models.py 与数据库相关模型映射文件
- tests.py 应用单元测试文件
- views.py 定义视图处理函数文件
-
配置安装应用APP
- settings.py文件中
- INSTALLED_APPS = [ ‘自定义应用名称’ ]
-
Django 应用的路由分布式
- url(r'^news/',include('news.urls')),
- urls文件需要自己创建
-
-
Django 数据库和模型
-
数据库配置文件
- 在settings.py中的DATABASES变量中
- ‘default’ = {‘ENGINE’:””,
- ’NAME’:’databaseName’
- ‘USER’:’用户名’
- ‘PASSWORD’:’密码‘
- ‘HOST’:’主机地址’
- ‘PORT’:端口号
- }
-
数据库后端引擎(django.db.backends.)
- mysql 、sqlite、oracle、postgresql
-
数据名命名方式
- APP名称_类名(小写)
-
pymsql支持
- 写在项目根目录的init中
- import pymysql
- pymysql.install_as_MySQLdb()
- django2.2以上 ,不支持pymysql
- 写在项目根目录的init中
-
models模块使用
-
类要继承model.Model
-
FIELD_TYPE 字段类型
-
作用:创建指定的字段
- BooleanField() 真假
- CharField() varchar 必须执行max_length=数字
- DateField() 数据库类型 date
- 参数:DateField.auto_now 自动设置该字段为当前时间(True/False)
- 参数:DateField.auto_now_add 第一次被创建就设置当前时间(True/False)
- 参数:DateField.defalut 设置当前时间(True/False)
- 以上参数只能选一个使用
- DateTimeField() 数据库类型 datatime()
- DecimalField() 数据库类型decimal(x,y)
- DecimalField.max_ddigits:位数总数
- DecimalField.decimal_places:小数点后面数字数量
- FloatField() 数据库类型 double()
- TextField() 数据库类型longtext
-
-
FIELD_OPTIONS 字段选项
-
作用:创建列时候做修饰,多个选项用,隔开
- primary_key (True,False) 是否设置主键,主键就不能null和unique
- null (True,False) 是否可以设置为空
- default ’默认值‘ 给字段设置一个默认值
- db_index (True,False) 是否增加索引
- unique (True,False) 是否设置值为一
- db_column 指定一个列名,不指定就使用属性名
-
-
-
数据库的迁移:
- 迁移就是将py写好的模型,同步到数据库
- 1.生成更新文件: makemiarations
- 2.执行迁移脚本: migrate
-
执行迁移失败处理
- 1.删除所有APP下migrataions下的000开头的Py文件
- 2.删除mysql的数据表,或者数据库
- 3.重新执行命令/重新创建数据库
-
数据库的操作(CURD操作)
- 数据库的增删改查通过模型管理器实现
- 模型管理器:
- 自己创建的类.objects
-
创建数据对象
- 原理:通过python对象 和数据库做映射
- 创建方法:
- 1.自己定义的模型类.objects.create(属性=值,属性=值)
- 一个create 就代表数据库的一条记录
- 2.创建对象(自己定义的类)调用save() 保存
- 3.使用字典创建对象,并调用save()进行保存
- 就是传递参数时候用**kwargs
- 1.自己定义的模型类.objects.create(属性=值,属性=值)
-
4.扩展延伸知识
-
pycharm 配置django 模板
-
pycharm 将终端替换为cmder
-
form表单中一键多值问题
-
传递
- get方式传递就是 &name=1&name=2
-
接收
- 要用getlist来接收参数,不然只能获取到最后一个值
-
JavaScript变量提升注意点
- 如果变量提升四步完成
-
css translate
- 平移属性
-
django 2.2版本不支持 pymsql
- 删除pymysql
- 安装mysqlclient
- https://blog.csdn.net/lpw_cn/article/details/103978909
-
mysqlclient使用
- 跟pymysql使用差不多
- https://blog.csdn.net/Raily_Qi/article/details/91971458
-
django 模型和字段
-
pycharm Django中不显示objects管理器
- 在创建的模型中添加objects = models.Manager()
- https://blog.csdn.net/wang_hugh/article/details/92634976
5.知识内容个人梳理
6.今天都复习了之前的什么内容
pycharm 配置django 模板
pycharm 将终端替换为cmder
form表单中一键多值问题
-
传递
- get方式传递就是 &name=1&name=2
-
接收
- 要用getlist来接收参数,不然只能获取到最后一个值
JavaScript变量提升注意点
- 如果变量提升四步完成
css translate
- 平移属性
django 2.2版本不支持 pymsql
- 删除pymysql
- 安装mysqlclient
- https://blog.csdn.net/lpw_cn/article/details/103978909
mysqlclient使用
- 跟pymysql使用差不多
- https://blog.csdn.net/Raily_Qi/article/details/91971458
django 模型和字段
pycharm Django中不显示objects管理器
- 在创建的模型中添加objects = models.Manager()
- https://blog.csdn.net/wang_hugh/article/details/92634976