一、Web应用
-
Web应用程序是什么?
- Web应用程序是一种可以通过Web访问的应用程序,最大的好处就是用户很容易访问应用程序,只需要有浏览器即可,不用安装其它软件
-
应用程序的两种模式:
- C/S:客户端/服务端程序,这类程序一般独立运行
- B/S:浏览器端/服务端应用程序,这类程序一般借助浏览器运行
-
Web应用程序一般是B/S模式
-
Web应用程序的优点
- 只需要一个适用的浏览器
- 耗费很少的硬盘空间
- 不需要更新,因为所有新的特性都砸服务器上执行,从而自动传达到用户端
- 具有跨平台性(如:Windows,Mac,Linux等)
-
Web应用层程序的缺点
- 严重依赖服务端的正常运行,服务端一旦出现问题,客户端立刻收到影响
二、web框架
-
wsgire模块
- 是python的一个内置模块
- 它帮助我们封装了socket部分,也解决了小部分高并发问题
- 帮我们把HTTP格式的数据做封装处理
三、Django框架
【1】Python主流框架
- Django框架
- 最主流,市场占用约90%,里面自带很多模块,不适用小项目
- falsk框架
- 轻量级的,小而美,自带的功能比较少,需要安装很多的第三方模块
- tornado框架
- 异步非阻塞、高性能
- sanic框架
- fastapi框架
- 它主要用来写一些接口,它只负责写业务逻辑
【2】Django的安装:
- pip install django
- Django的版本要和python的版本匹配
- django2--------python3.6版本以上
- django1--------python3.6版本
【3】Django版本:
- Django1.x
- 主要是以前的老项目使用,与2.x的版本区别不是特别大
- Django2.x
- 主流项目使用的都是2.x版本,和1.x有一点区别
- drf框架要求Django的版本必须是2以上,不支持1的版本
- Django3.x
- 新版本,有不少项目使用
【4】如何创建一个Django项目
第一种方式:命令行创建
django-admin startproject 项目名称 如:django-admin startproject myfirst
第二种方式:pycharm创建项目
步骤:点击python左上角的File-------->New project------django
注意事项:
1、项目名称必须是英文,不能是中文
2、一个pycharm窗口只打开一个django项目
【5】如何启动项目
步骤一:将路径切刀跟manage.py同级目录下面
步骤二:命令行启动
python解释器版本 manage.py runserver 8001 python解释器版本 manage.py runserver
注意:
8001是修改端口号,默认是8000 ,想修改端口号就写,不修改就不写
不同方法创建django项目,启动项目报错的问题
报错原因:
django1.x和django2.x的版本不支持'DIRS':[BASE_DIR/templates]这种写法,djang3.x和django4.x版本就支持
解决方法:
使用pycharm创建django时启动项目会报错,这时需要将settings.py文件中的'DIRS':[BASE_DIR/templates]改成'DIRS':[os.path.join(BASE_DIR,'templates')]
使用命令行创建的django项目不会出现这个原因
【6】创建应用
python manage.py startapp 应用名 例如:python manage.py startapp app01
重要:
创建完应用后,就要注册应用,如果没有注册,创建出来的应用没有作用
一个Django框架至少要有一个应用,应用名的命名遵守变量的命名即可
【7】Django主要文件介绍
myfirst------项目名称
app01-----应用名称
migrations--------它是迁移数据的记录
__init__.py
admin.py----------django自带的后台管理系统
apps.py-----------写一些注册的东西
models.py-------模型层,跟数据库打交道,创建表代码在这里面写
tests.py----------测试脚本
views.py---------视图文件,主要用来写核心的业务逻辑
myfirst
__init__.py
settings.py--------Django的全局配置文件
urls.py-----------路由文件,写地址的后缀和视图函数的对应关系
wsgi.py---------wsgiref服务器
templates--------存储HTML文件的
db.sqlite3----------Django自带的小型数据库
manage.py--------Django的启动文件,入口文件