初识web框架django

一、初识web框架
手撸一个web框架的总结:
1、web框架的本质
socket服务端与浏览器的通信
2、socket服务端功能划分
a.负责与浏览器收发消息(socket通信)
wsgiref/uWsgi/gunicorn
b.根据用户访问的不同路径执行不同的函数
自己写
c.从HTML中读取内容,并且完成字符串的替换
jinja2(模板语言)
WSGI协议:
a与bc之间通信的协议

	3、Python中web框架的分类
		1、按上面三个功能划分:
			1.框架自带a,b,c,			    -->Tornado
			2.框架自带b,c,使用第三方的a 	-->Django
			3.框架自带b,使用第三方的a和c	-->Flask
		2、按另一个维度划分
			1.Django		-->大而全(你做一个网站能用到的功能他都有)
			2.其他			-->Flask 轻量级

二、安装Django
1、配置文件
新建Django项目:
django-admin startproject mysite

	静态文件:
		STAITICFILES_DIRS = [
			os.path.join(BASE_DIR, "static")
		]
	静态文件保存目录的别名:
		STATIC_URL = '/static/'

三、Django基础
1、GET请求和POST请求
GET请求:
1、浏览器请求一个页面
2、搜索引擎检索关键字的时候
POST请求:
1、浏览器向服务端提交数据

2、Django中的app
	app应用,方便在一个大的Django项目中管理实现不同的业务功能

四、Django使用ORM详细步骤
1、自己手动创建数据库
create database 数据库名;
2、在Django项目中设置连接数据库的相关配置(告诉Django连哪一个数据库)
# 配置设置(settings)
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’, # 数据库引擎
‘NAME’: ‘mydata’, # 你要存储数据的库名,事先要创建之
‘USER’: ‘root’, # 数据库用户名
‘PASSWORD’: ‘0000’, # 密码
‘HOST’: ‘localhost’, # 主机
‘PORT’: 3306, # 数据库使用的端口
}
}

3、告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库
	#我们将Django框架的数据库设置为MySQL,首先需要安装 pymsql 模块库(Python3)
	#在工程文件夹的 __init__.py 初始化配置文件中,添加如下代码:
	import pymysql # 导入mysql库
	pymysql.install_as_MySQLdb() # 设置pymsql为Django默认数据库连接驱动

4、在APP下面的models.py 文件中定义一个类,这个类必须继承models.Model
	class(models.Model):
		...

5、执行两个命令:
	1. python3 manage.py makemigrations
	2. python3 manage.py migrate

五、单表增删改查
1、get请求,POST请求 URL传值
1、get格式
127.0.0.1:8080/?name=alex&id=7
2、Django后端取值
request.GET -->大字典
request.GET[‘name’] -->key不存在就报错了
request.GET.get(‘name’,None) -->有缺省值,推荐用这个方法
3、POST请求取值
request.POST.get(‘name’,None)
4、GET请求和POST请求
1、GET请求
1.GET请求携带的数据都拼在了URL上
2.GET请求携带的数据长度限制为40k
应用场景
1.地址栏输入URL
2.点击a标签
3.搜索引擎检索
2、POST请求
1.form表单提交数据
2.上传文件
3、其它常用:
1.request.path_info 获取用户的请求路径
2.request.body
5、response基础必备三件套
1.HTTPResponse
2.Render
3.Redirect

2、ORM删除修改
	1、删除
		
	2、修改

六、表单一对多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值