Django(一)
目录
- Django(一)
- 安装与下载
- 下载
- 测试
- 项目的创建和启动
- 命令行模式
- 启动项目
- 命令行创建和pycharm创建的区别
- 创建应用(app)
- 主要文件介绍
- “三板斧”
- 安装与下载
Django(一)

??[Django官网](The web framework for perfectionists with deadlines | Django (djangoproject.com))
主流Web框架介绍
1.django框架
大而全,自带的功能组件非常非常非常的多!类似于航空母舰
2.flask框架
小而精,自身的功能组件非常非常非常的少!类似于游骑兵
但是第三方模块非常之多,如果把第三方模块全部叠加起来完全可以盖过django
有时候也会受限于第三方模块
ps:三行代码就可以启动一个flask后端服务
3.tornado框架
异步非阻塞 速度非常的快 快到可以开发游戏服务器
ps:Sanic、FastAPI...
# 框架分块和区别
A:socket部分
B:路由与视图匹配
C:模板语法
django
A:用的是wsgiref模块
B:用自己写的
C:用自己写的
flask
A:用的是wsgiref模块封装之后werkzeug
B:用自己写的
C:用jinja2模块
tornado
A、B、C都是自己写的
安装与下载
??下载 Django |Django (djangoproject.com)
- 计算机名称不能有中文
- 项目名和py文件名最好也不要使用中文
- django版本兼容问题:主要有1.X、2.X、3.X

下载

pip3 install django==[版本号]- pycharm下载
- !!!注意下载带LTS(长期支持版本)的!!!
测试
django-admin

项目的创建和启动
命令行模式
django-admin startproject 项目名
启动项目
命令行模式
1.创建django项目
django-admin startproject mysite1
2.启动项目名
切换到manage.py入口文件所在目录:cd Django_items\mysite1
启动的三种方式:
2.1 python manage.py runserver
2.2 python manage.py runserver ip:port
2.3 python manage.py runserver port
# ip本机,端口自定义,不写Django默认端口8000
pycharm创建


启动

如果没有启动按钮,那么就点击:

结果都是一样可以启动的

命令行创建和pycharm创建的区别
-
pycharm创建:自动生成templates文件夹
- settings.py文件中自动拼接了路径

- 命令行创建:没有templates文件夹
- settings.py文件没有拼接路径

? ps:Django2/3.X版本拼接模板文件路径用的是[BASE_DIR / 'templates'],如果路径不能用/拼接修改成[os.path.join(BASE_DIR, 'templates')];如果使用cmd创建需要添加模板文件的路径,且注意Django版本
创建应用(app)
一个项目至少含有一个应用!
命令行模式:
python manage.py startapp 应用名
E:\Django_items\djangoProject1>python manage.py startapp app01
pycharm创建
Tools => run manage.py task
或
创建项目的时候可以快捷创建一个!
startapp 应用名
manage.py@djangoProject1 > startapp app03
创建完应用要去配置文件注册
如果在创建应用的时候创建的项目,pycharm自动给注册了
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
'app02'
]
主要文件介绍
mysite1 # 项目名
app01 # 应用名
migrations # 迁移数据库的时候,会把迁移记录保存到这里来
__init__.py
admin.py # django自带的后台管理系统
apps.py # 忽略
models.py # 模型层,以后跟数据库相关的都在这个里面
tests.py # 测试脚本
views.py # view层,主要用来写逻辑的
mysite1
__init__.py
settings.py # 整个django项目的全局配置文件
urls.py # 路由层,写的是路径与函数的对应关系
wsgi.py # wsgiref服务器, WSGI协议,uwsgi服务器
templates # 写html页面的地方
db.sqlite3 # django自带的小型数据库, mysql,oracle
manage.py # 启动文件,入口文件
“三板斧”
from django.shortcuts import render,HttpResponse,redirect
# 通过urls.py
1.HttpResponse
返回字符串
2.render
返回html页面,还可以使用模板语法
3.redirect
重定向