Django中的ORM 和入门基础
Posted maojiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django中的ORM 和入门基础相关的知识,希望对你有一定的参考价值。
day62 2018-06-12
1. 内容回顾
1. web框架的本质
1. socket
浏览器: socket客户端
服务器: socket服务端
2. HTTP协议:规定了一个收发消息的格式
3. 消息分类
请求(request):浏览器向服务端发送的消息
GET /index/ HTTP/1.1
k1:v1
...
请求体
响应(response):
HTTP/1.1 200 OK
k1:v1
...
响应体 --> 浏览器显示的那部分内容
2. Python Web框架分类
功能分类:
a: 收发消息相关(socket)
b: 根据不用的URL执行不同的函数(业务逻辑相关的)
c: 实现动态网页(字符串的替换)
Web框架分类:
1. 自己实现b,c,使用第三方的a --> Django
2. 自己实现b,使用第三方的a和c --> Flask
3. 自己实现ac --> Tornado
Django是一个大而全的web框架。
3. 两个模块
web服务器程序 <--WSGI协议--> web应用程序
1. wsgiref
Django开发环境使用的就是wsgiref模块
2. jinja2(Flask)
渲染html页面,其实就是实现字符串的替换。
4. Django
1. Django安装
2. 新建Django项目并启动
3. 三件套
4. templates的配置
5. 静态文件的配置
2. 今日内容
1. 登录功能的实现
1. form表单提交数据的注意事项:
1. 是form不是from,必须要有method和action
2. 所有获取用户输入的表单标签要放在form表单里面,表单标签必须要有name属性
3. form表单必须要有submit按钮
2. GET和POST
什么时候用GET:
向服务端请求一个网页的时候
搜索引擎检索时
什么时候用POST:
使用表单向服务器提交数据时
3. request.method --> 获取的是你请求的方法(GET/POST...)必须是大写!!!
4. request.POST --> 获取POST提交过来的全部数据(字典)
5. redirect --> 跳转到指定页面!!!
基础必会三件套:
1. HttpResponse("OK")
2. render(request, "login.html")
3. redirect("URL")
6. app
project (学校)
- app (学院)
创建APP:
python3 manage.py startapp app01
创建好APP,记得告诉Django, 我有这个app
在settings.py中,
# 安装的app都有哪一些
INSTALLED_APPS = [
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘app01‘,
# ‘app01.apps.App01Config‘,
]
Django中的数据库
2. ORM(对象关系映射)
1. pymysql
import pymysql
conn = pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
password="123",
database="day62",
charset="utf8"
)
cursor = conn.cursor()
cursor.execute("slect * from user;")
ret = cursor.fetchall()
2. 我们写原生css和用jQuery
document.getElementById(id)
$("#id")
数据表 类
数据行 实例对象
字段 属性
代码操作数据库的方式;
直接执行SQL
优点:执行效率高
缺点:开发效率低
按照特定的语法写,翻译成SQL语句再去执行
优点:开发效率高
缺点:执行效率低,你会忘记SQL语句
ORM:
sqlAlchemy Flask里面也有一个orm就是sqlAlchemy
ORM和原生的SQL语句,根据具体的应用场景自行取舍。
Django项目使用MySQL数据库
1. 在Django项目的settings.py文件中,配置数据库连接信息:
Django里面的ORM的使用:
1. 告诉Django连接那个数据库
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘day62‘,
‘HOST‘: ‘127.0.0.1‘,
‘PORT‘: 3306,
‘USER‘: ‘root‘,
‘PASSWORD‘: ‘123‘,
}
}
2. 告诉Django怎么连接
Django默认使用的是 MySQLdb模块 连接数据库
告诉Django用pymysql这个模块去连接MySQL
在settings.py同目录下的__init__.py文件中,指定使用pymysql模块代替MySQLdb
import pymysql
pymysql.install_as_MySQLdb()
3. 在app/models.py文件中定义类
一定要继承models.Model
4. 执行创建表的操作
1. python3 manage.py makemigrations --> 将models.py的修改登记到小本本上
2. python3 manage.py migrate --> 将修改翻译成SQL语句,去数据库执行
重点来了!!!!为了让我们好区分 做了一个顺序区分
先创建一个django项目
3. 图书管理系统
1. 表结构设计
1. 出版社
2. 书
3. 作者
以上是关于Django中的ORM 和入门基础的主要内容,如果未能解决你的问题,请参考以下文章