目录
一.Django框架介绍
1.什么是Django框架
Django框架是一款专门用来开发web应用的框架
2.什么是web
web应用程序是一种可以通过web访问的应用程序,用户只需要有浏览器即可,不需要再安装其他软件,例如:淘宝、京东等
应用程序有两种模式:C/S、B/S
C/S(客户端/服务端)也就是说这类程序一般独立运行B/S(浏览器端/服务端)这类应用程序一般借助IE等浏览器来运行,web应用程序一般是B/S模式
3.web应用程序的优点
- 只需要一个适合的浏览器
- 节省硬盘空间
- 不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端
- 可跨平台使用
4.web应用程序的缺点
严重依赖服务端的正常运行,服务端一旦出现问题,客户端会受到影响
5.什么是web框架
别人写好的框架(就是一堆目录和文件),我们只需要固定的位置写代码即可
二.wsgiref模块的使用
wsgiref服务器 ------> uwsgi服务器(uwsgi) ------> Nginx服务器+uwsgi服务器
wsgiref模块是一个内置的模块,直接可以拿来使用,无需安装它帮助我们封装了socket部分,另外,它也解决了部分的高并发问题,但是,它能够解决的并发量并不高
它们也会帮我们把HTTP格式的数据做封装处理,也就是说不需要我们再自己处理
views.py # 主要用来写业务逻辑的,它也称为是视图文件
urls.py # 主要用来写后缀和视图函数的对应关系,它也称为是路由文件
template # 存储项目中用到的模板文件(html文件),提供了一些模板语法
'''每一个框架都应该有一个入口文件,Django也不例外'''
三.Django框架的学习
1.python中的主流框架:
- Django框架:最主流的,市场占用率90%以上,笨重的框架,里面自带了很多的模块,不适用于小项目,类似于航空母舰
- falsk框架:轻量级的,小而美,自带的功能比较少,需要安装很多第三方模块,当你安装足够多的模块时体量也和Django差不多了
- tornado框架:异步非阻塞,高性能,学习成本高但是解决的并发量挺高,一般用在特殊场景
- fastapi框架:主要用来写一些接口,不出来页面,只负责书写业务逻辑
2.如何使用Django
(1)安装
pip install django
(2)版本
django1.x:以前老项目在使用,跟2.x版本区别不大
django2.x:主流项目都在使用的版本
django3.x:新版本,一部分新项目在用
(3)创建django项目
- 命令行创建:
- django-admin startprojrct 项目名
- django-admin startproject myfirst
- pycharm创建项目:
- file->new project->django
注意事项:
项目名必须是英文,不能是中文
一个pycharm窗口只打开一个django项目
(4)如何启动项目
先把路径切到跟manage.py同级目录下面
命令行启动:
python manage.py runserver
如果想指定端口,只需在最后加上想用的端口号即可:python manage.py runserver 8000
(5)创建应用
python manage.py startapp 应用名
python manage.py startapp app01
创建完应用之后一定要注册应用,如果没有注册,创建出来也没用(在最后加上应用名)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
]
四.应用
1.应用的介绍
Django框架就类似于是一所大学,一所大学也要有二级学院,应用就类似于是二级学院,一个Django框架至少要有一个应用
2.主要文件的介绍
myfirst # 项目名称
app01 # 应用名称
mirgrations # 它是迁移数据的记录
__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的启动文件,入口文件