服务端就是在开发接口
服务端开发(后端开发):
flask(轻量级,提供的功能少)
fastapi
django:
服务端开发框架(重量级,提供的功能多)
ORM: 它封装了数据库操作,操作数据库
form: 校验请求数据
直接装django的话,安装的是最新版本的django,,django的最新版本对mysql的数据库有要求,如果用mysql还得升级
django2.0的版本比较稳定
安装:
pip install django==2.0
前后端不分离
前后端分离
web经典开发模式:MVC
model:数据库
view:前端展示
controller:逻辑控制
django MTV模式,从MVC演变而来
model: 数据库
view: 逻辑控制
template:模板,前端展示
django命令:
django-admin startproject sky 创建项目为sky的django项目
python manage.py runserver 启动django项目,默认端口8000
启动的时候如果想指定端口号的话,命令如下:
python manage.py runserver 127.0.0.1:8002
如果是127.0.0.1的话,只能你自己访问,如果想要公司的其他人都能访问,命令如下:
python manage.py runserver 0.0.0.0:8002
别人访问的时候,前面不是0.0.0.0,而还是你自己的ip,比如你的ip是10.10.10.165,访问地址如下:
10.10.10.165:8002
创建一个名为user的应用
python manage.py startapp user
django项目目录结构:
project:
project :urls.py 配置url
settings.py 配置文件,数据库等配置
wsgi.py 部署用的
manage.py 用来管理项目的
django项目子应用目录结构
views.py: 写逻辑的地方
tests.py: 写一些单元测试的东西
models.py:操作数据库的
apps.py:一些应用的配置
admin.py:自带的后台管理
migrations文件夹:根据什么来创建表,怎么创建的表,都是在migrations里面
settings.py里面的配置:
LANGUAGE_CODE = 'zh-Hans' 语言改成中文
TIME_ZONE = 'UTC' 改成 TIME_ZONE = 'Asia/Shanghai' 把标准时区改成东八区,如果不改,以后往数据库插入数据,时间会有误
USE_TZ = True改成USE_TZ = False,如果不改,往数据库插入数据也是用的标准时区
STATIC_URL = '/static/'
# 静态文件配置
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
# STATICFILES_DIRS是一个元祖,如果只有一个元素, 要加逗号
图片路径设置
MEDIA_ROOT = os.path.join(BASE_DIR,'images')
MEDIA_URL = '/images/'
前后端不分离:
1.浏览器请求前端资源
2.前端再请求后端
3.后端再把数据返回回去
前后端分离的性能比不分离的性能要高一点
建表:
分析表结构:title,content,category,create time,update time,image
写建表的类
执行建表命令
python manage.py makemigrations---生成django表结构
python manage.py migrate ------把表结构同步到数据库
db.sqlite3是文件数据库,在你本地,所以比较快
前后端分离:
1.浏览器直接调后端
2.后端再去读前端资源
3.找到html后再去做替换,把带{{}}的变量进行替换成实际的值
4.然后再把替换完的数据返回给浏览器
前后端不分离:
1.浏览器请求前端资源
2.前端再请求后端
3.后端再把数据返回回去
前后端分离的性能比不分离的性能要高一点
建表:
分析表结构:title,content,category,create time,update time,image
写建表的类
执行建表命令
python manage.py makemigrations---生成django表结构
python manage.py migrate ------把表结构同步到数据库
db.sqlite3是文件数据库,在你本地,所以比较快