django2.0.6初识-pymysql

关于pymysql

pymysql是Python中操作数据库MySQL的模块。

在Python3.x以后,由于Python统一了数据库连接的接口,开始使用pymysql, pymysql 和 MySQLdb 在使用方式上是类似的,因此,python3.x链接mysql数据库应安装Python,使用pip安装方法是:

1.安装pymysql

运行(win+R)——输入cmd——在黑窗口输入 pip3 install pymysql——安装成功

2.1名词解释

pymysql.Connect()参数说明
host(str):      MySQL服务器地址
port(int):      MySQL服务器端口号
user(str):      用户名
passwd(str):    密码
db(str):        数据库名称
charset(str):   连接编码

connection对象支持的方法
cursor()        使用该连接创建并返回游标
commit()        提交当前事务
rollback()      回滚当前事务
close()         关闭连接

cursor对象支持的方法
execute(op)     执行一个数据库的查询命令
fetchone()      取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall()      获取结果集中的所有行
rowcount()      返回数据条数或影响行数
close()         关闭游标对象

2.2执行pymysl

首先在连接数据库之前,先创建一个数据库(tkq1)和一个表(tb7),方便测试 pymysql 的功能:

django2.0.6初识-pymysql

3.获取数据库中的数据:

django2.0.6初识-pymysql


参考:

http://www.cnblogs.com/wt11/p/6141225.html

http://www.cnblogs.com/woider/p/5926744.html


接下来正式开始django:

安装的方法类似上面提到的pymysql:

运行(win+R)——cmd——pip3 install django = 2.0.6(我目前装的版本号是2.0.6)——安装成功

一、创建一个项目:

注意:需要避免与内置Python包或Django组件重名的问题。 应该避免使用像django(这会与Django本身冲突)或test(与内置Python包冲突)的名称。

1.创建Django项目
django-admin startproject 【工程名称mysite】
生成以下文件:
mysite
  -templates #放值模板文件,自己写的网页
  -static   #自己手动创建的,名字就要写为static,放置静态文件,存放css,jQuery,js等
  - mysite # 对整个程序进行配置
    - init
    - myapp  #用命令python manage.py startapp cmdb创建的app目录
    - settings # 配置文件
    - url # URL与处理函数的对应关系
    - wsgi # (Web Server Gateway Interface)遵循WSIG规范,Django默认使用Python自带的web server ,以后线上用uwsgi + nginx
  - manage.py # 管理Django程序:
          - python manage.py 
          - python manage.py startapp xx  创建app
          - python manage.py makemigrations  #执行modules中创建数据库表的类,类似于sqlAqlmy,也是orm框架(对象关系映射),创建表
          - python manage.py migrate    #同步数据


2.创建app
python manage.py startapp cmdb
app生成以下文件:
  migrations   #存储数据库表结构修改记录
  admin   #Django为我们提供的后台管理
  apps #配置当前app
  models #ORM,写指定的类 通过命令可以创建数据库结构
  tests #单元测试
  views #业务代码,实际处理数据的代码,urls.py中的url指向这里边的函数


二、了解django的套路

在学习具体操作前,先了解http协议、MVC和MTV

关于HTTP协议

http协议介绍
 http协议(Hyper Text Transfer Protocol):超文本传输协议,是基于应用层的面向对象协议,靠tcp协议和IP来传输数据,请求和响应是http协议的基本概念。
 http协议工作于客户端与服务端架构之上,浏览器作为http客户端通过url向HTTP服务端发送所有请求。

http特点
 1 简单快速:浏览器向服务端发送请求时,只需要传送请求的方法和路径。
  请求方法:GET,POST,HEAD,不同方法有着不同的联系类型。
 2 灵活:http传输可以是任意的数据类型,由Content_Type控制。
 3 无连接:每次只限制一次请求,服务器一处理玩请求并受到客户端的应答后就断开链接。这样就可以节省传输时间。
 4 无状态:对于事物的处理没有记忆的能力。

http请求协议
 什么叫做请求协议:浏览器请求服务端的数据格式,也叫做请求格式

 请求的格式:

django2.0.6初识-pymysql

GET请求:

django2.0.6初识-pymysql

http默认的请求的方法是GET,数据跟着url后面,由?分割开url和数据,多个参数之间是由&符号分隔开,空格转为+号,文字就会直接用BASE64加密,没有请求体数据,大小有限制,并且请求的数据会暴露在地址栏中。 

GET常用的操作:在地址栏直接给出url,点击页面的一次超链接,还有form表单默认是GET请求,但是可以设置为POST请求。

POST请求:

django2.0.6初识-pymysql


http协议解析:(示例)

django2.0.6初识-pymysql


状态码响应的含义:

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受     (在传输成功时,会出现200 ok)
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求


MVC与MTV设计模式

Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:


django2.0.6初识-pymysql


M---Django的数据存储层
V---Django中对应的是模板系统以及视图,也就是显示内容以及怎么显示
C---根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当的 Python 函数,但是由于C层是由框架自行处理,而在Django中主要的关注还是模型(Model),模板(Template)和视图(Views),所以人们也常称这种开发模式为MTV开发模式。