pymysql

Django基础五之django模型层(一)单表操作

﹥>﹥吖頭↗ 提交于 2020-04-18 08:33:24
Django基础五之django模型层(一)单表操作 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称 。 (Object Relational Mapping,简称ORM) (将来会学一个sqlalchemy,是和他很像的,但是django的orm没有独立出来让别人去使用,虽然功能比sqlalchemy更强大,但是别人用不了) 类对象--->sql--->pymysql--->mysql服务端--->磁盘,orm其实就是将类对象的语法翻译成sql语句的一个引擎,明白orm是什么了,剩下的就是怎么使用orm,怎么来写类对象关系语句。 | 原生sql和python的orm代码对比 | #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (20), gender BIT default 1, birthday DATA , department VARCHAR (20), salary DECIMAL (8,2) unsigned,

Django学习笔记(4)——Django连接数据库

眉间皱痕 提交于 2020-04-18 06:35:39
前言   在MVC或者MTV设计模式中,模型(M)代表对数据库的操作。那么如何操作数据库呢?本小节就认真学习一下。首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下连接数据库需要了解的知识。   其实之前已经有学习过,可以参考博客: Django学习笔记:初始Django   但是这里想详细的进行学习,首先对Django 一些基本的知识点进行了解。 1,Django的流程实现 django #安装: pip3 install django 添加环境变量 #1 创建project django-admin startproject mysite ---mysite ---settings.py ---url.py ---wsgi.py ---- manage.py(启动文件) #2 创建APP python mannage.py startapp app01 #3 settings配置 TEMPLATES STATICFILES_DIRS=( os.path.join(BASE_DIR,"template"), ) STATIC_URL = '/static/' # 我们只能用 STATIC_URL,但STATIC_URL会按着你的 STATICFILES_DIRS去找 #4 根据需求设计代码 url.py view.py #5 使用模版

django模型层(二)多表操作

非 Y 不嫁゛ 提交于 2020-04-18 05:52:12
一 创建模型    表和表之间的关系     一对一、多对一、多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束。   实例:我们来假定下面这些概念,字段和关系   作者模型:一个作者有姓名和年龄。   作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one)   出版商模型:出版商有名称,所在城市以及email。   书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many)。   模型建立如下: from django.db import models # Create your models here. class Author(models.Model): #比较常用的信息放到这个表里面 nid = models.AutoField(primary_key=True) name=models.CharField( max_length=32) age=models.IntegerField() #

十一、Python入门-进阶

梦想与她 提交于 2020-04-17 00:30:15
【推荐阅读】微服务还能火多久?>>> 进阶 日期与时间 import datetime import time # 引入time模块 import calendar # 获取当前日期时间 now= datetime.datetime.now() print (now) # 获取指定日期 d=datetime.datetime(2019,10,1,12,23,40 ) print (d) # 日期转字符串 d2=d.strftime( " %Y/%m/%d %H:%M:%S " ) print (d2) # 字符串转日期 s= " 2020-8-15 2:30:20 " d3 =datetime.datetime.strptime(s, " %Y-%m-%d %H:%M:%S " ) print (d3) # 获取本地时间 ticks = time.time() print ( " 当前时间戳为: " , ticks) localtime = time.localtime(time.time()) print ( " 本地时间为 : " , localtime) # 格式化 localtime = time.asctime( time.localtime(time.time()) ) print ( " 本地时间为 : " , localtime) # 格式化成2016-03-20

2020最新Python 爬虫入门实战项目,新手必学

≡放荡痞女 提交于 2020-04-15 11:12:31
【推荐阅读】微服务还能火多久?>>> 1. 前言 首先自我介绍一下,我是一个做 Java 的开发人员,从今年下半年开始,一直在各大技术博客网站发表自己的一些技术文章,差不多有几个月了,之前在 cnblog 博客园加了网站统计代码,看到每天的访问量逐渐多了起来,国庆正好事情不多,就想着写一个爬虫,看下具体阅读量增加了多少,这也就成了本文的由来。 这里注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你缺新项目练习或者没有python精讲教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新python教程项目,还可以跟老司机交流讨教! 2. 技术选型 爬虫这个功能,我个人理解是什么语言都能写的,只要能正常发送 HTTP 请求,将响应回来的静态页面模版 HTML 上把我们所需要的数据提取出来就可以了,原理很简单,这个东西当然可以手动去统计收集,但是网络平台毕竟还是很多的,还是画点时间,写个爬虫把数据爬取下来,存到数据库里,然后写一个统计报表的 SQL 语句比较方便,后续如果有时间的话,我会写一个简单的前后端分离的报表样例分享出来。 网上现在 Python 爬虫的课程非常的火爆,其实我心里也有点小九九,想玩点骚操作,不想用老本行去写这个爬虫,当然最后的事实是证明确实用 Python 写爬虫要比用 Java

八、Python MySQL(pymysql)

。_饼干妹妹 提交于 2020-04-08 13:02:02
调用步骤 1.cmd 安装:pip install pymysql 2.导入:import pymysql 3.建立连接:conn = pymysql.connect(user='用户名',password='密码',database='库名',charset='utf8') 4.建立游标:cursor() 5.查询语句:sql = ('sql语句,所有输入参数用%s表示') 6.执行:cursor.execute(sql,(输入参数1,输入参数2......输入参数N)) 7.查询打印:for (表字段1,表字段2) in cursor: print(表字段1,表字段2) 8.提交(新增、修改、删除):conn.commit() 9.关闭游标,关闭连接:cursor.close conn.close 安装mysql,创建库,表,增加记录 CREATE DATABASE pytest; USE pytest; CREATE TABLE student( NAME VARCHAR(20), age INT ); DELETE FROM student; INSERT INTO student(NAME,age) VALUES('zhangshan',20); INSERT INTO student(NAME,age) VALUES('lisi',88); mysqldb.py

Python数据库连接池DBUtils

梦想的初衷 提交于 2020-04-06 21:26:11
DBUtils是Python的一个用于实现数据库连接池的模块。 下载地址 此连接池有两种连接模式: 模式一:为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线程再次使用。当线程终止时,连接自动关闭。 POOL = PersistentDB( creator=pymysql, # 使用链接数据库的模块 maxusage=None, # 一个链接最多被重复使用的次数,None表示无限制 setsession=[], # 开始会话前执行的命令列表。如:["set datestyle to ...", "set time zone ..."] ping=0, # ping MySQL服务端,检查是否服务可用。# 如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = always closeable=False, # 如果为False时, conn.close() 实际上被忽略,供下次使用,再线程关闭时,才会自动关闭链接。如果为True时, conn.close()则关闭链接,那么再次调用pool.connection时就会报错,因为已经真的关闭了连接

Python数据库连接池DBUtils

我们两清 提交于 2020-04-06 21:21:37
DBUtils是Python的一个用于实现数据库连接池的模块。 此连接池有两种连接模式:   模式一:为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线程再次使用。当线程终止时,连接自动关闭。 POOL = PersistentDB( creator=pymysql, # 使用链接数据库的模块 maxusage=None, # 一个链接最多被重复使用的次数,None表示无限制 setsession=[], # 开始会话前执行的命令列表。如:["set datestyle to ...", "set time zone ..."] ping=0, # ping MySQL服务端,检查是否服务可用。# 如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = always closeable=False, # 如果为False时, conn.close() 实际上被忽略,供下次使用,再线程关闭时,才会自动关闭链接。如果为True时, conn.close()则关闭链接,那么再次调用pool.connection时就会报错,因为已经真的关闭了连接

Serverless 动态博客开发趟“坑”记

百般思念 提交于 2020-04-06 13:22:48
本文为 Serverless 社区成员撰稿。作者云洋,从事信息管理工作,多年电子政务信息系统建设管理经验,对 Serverless 技术和架构有浓厚兴趣。 这个假期挺长的,不过有幸在腾讯云 Serverless 在线直播里看到了 Serverless 的相关课程,从第一期学完,还是凭添了很多学习乐趣。 前面三节课学了一些 Serverless 的基本知识和架构特点,也跟着开发部署,其实都蛮有趣的,唯一就是都没有管理后台。第四期课程很好的弥补了这一不足。刘宇老师给大家带来的项目 Python+HTML 的动态博客,后台是基于 Flask 的,虽然我不太熟悉这个框架,但是老师给提供了课程的源码,所以可以先用后学。 这节动态博客的直播回放地址是: https://cloud.tencent.com/edu/learning/live-1926 刘宇老师的项目的 Github 地址是: https://github.com/anycodes/ServerlessBlog 直播那天我提前准备好手机和电脑,就进教室了,不过当天课程收到网络的干扰很大,一直很卡,后来刘老师重新录制了课程,据说录到凌晨两点,这一点必须点赞,敬业精神太感人啦。在老师的热情带领下,我们的学习劲头也是十足的啊。 我的学习路径可谓十分曲折,整整折腾了三天,不过最后终于实现了项目的成功部署,很开心! 整体来说

055.Python前端Django模型ORM

只愿长相守 提交于 2020-04-06 09:14:56
由于前面在centos实验的过程中,pymql一直有属性错误,很难排查出问题,重新做了一个ubuntu的桌面系统同时使用pycharm开发工具作为学习开发工具,具体原因是因为在项目命名出现问题,和自己带的模块冲突,导致不能成功 一 ORM简介 对象关系映射(Object Relational Mapping,简称ORM)。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 通过一张图来介绍一下数据库与python代码之间的一个关系: 1.1 ORM特点 ORM的优点 不用写繁琐的SQL语句,用咱们熟悉的python代码,就能实现对数据的操作,提高开发效率; 可以平滑的操作,切换数据库。 ORM的缺点 ORM代码转换为SQL语句时,需要花费一定的时间,执行效率会有所降低; 长期写ORM代码,导致写SQL语句能力,会有所减弱。  1.2 改进 如果想打印orm转换过程中的sql,需要在settings中进行如下配置: LOGGING = { 'version': 1 , 'disable_existing_loggers' : False, 'handlers' : { 'console' :{ 'level':'DEBUG' , 'class':'logging