一、Django简介

Python 语言写的开源web开发框架
Django 目的是简便、快速的开发数据库驱动的网站.
Django 强调代码复用,有许多功能强大的第三方插件.
Django 遵循MVC设计模式. 有一个专有名词 :MVT

1.1 MVT介绍

  • MVT 核心思想 : 解耦
  • Django, 研究 Model-View-Template 模块间协同工作、如何编模块代码
M (模型)Model, 用于和数据库交互,  负责数据处理(数据的增删改查),   内嵌了ORM框架.
V (视图)View, 用于接收GET或POST请求,   接收HttpRequest, 业务处理,返回HttpResponse.
T (模板)Template,  负责封装构造要返回的html, 内嵌模板引擎.

django生命周期

  1. 请求阶段(Request Phase):当接收到客户端的HTTP请求时,Django开始处理请求阶段。在这个阶段,Django的主要任务是根据URL映射和路由规则确定要调用的视图函数
  2. 中间件阶段(Middleware Phase):在请求阶段之后,Django会调用注册的中间件。
  3. 视图阶段(View Phase):在中间件阶段之后,Django调用确定的视图函数来处理请求。
  4. 模板渲染阶段(Template Rendering Phase):如果视图函数使用了模板来生成响应内容,那么在视图阶段之后,Django会根据视图函数指定的模板文件进行渲染。模板引擎将模板与数据结合,生成最终的HTML响应。
  5. 响应阶段(完成Response Phase):在模板渲染阶段之后,Django将生成的响应返回给客户端,完成了请求周期响应

二、Django创建虚拟环境

1. 安装虚拟环境的命令

pip install virtualenv
pip install virtualenvwrapper

安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量:

2. 创建目录用来存放虚拟环境

mkdir $HOME/.virtualenvs

3. 打开~/.bashrc文件 ,并添加如下:

  查找/virtualenvwrapper.sh路径:

whereis virtualenvwrapper.sh

  输入vi ~/.bashrc

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv
source $HOME/.local/bin/virtualenvwrapper.sh

4. 运行

source ~/.bashrc

python创建虚拟环境        

mkvirtualenv -p python3 虚拟环境名称 

mkvirtualenv -p python3 py3_django 或下面
virtualenv   -p python3 py3_django   
  

查看虚拟环境的命令: workon 两次tab键
使用虚拟环境的命令: workon 虚拟环境名称        eg: workon py3
退出虚拟环境的命令: deactivate
删除虚拟环境的命令: rmvirtualenv 虚拟环境名称  先退出:deactivate   再删除

三、Django项目的创建

创建项目
django-admin startproject BookManager

cd BookManager

创建应用
python manage.py startapp Book

模型迁移 (建表)
迁移由两步完成 :
生成迁移文件:根据模型类生成创建表的语句
python manage.py makemigrations
执行迁移:根据第一步生成的语句在数据库中创建表
python manage.py migrate

#创建app  反向生成model
django-admin.py startapp app
#将模型导入创建的app中去
python manage.py inspectdb > app/models.py

创建用户
python manage.py createsuperuser

进入项目文件中, 开启项目对应的服务器
python manage.py runserver
python manage.py runserver --setting=settingConf.dev 0.0.0.0:8000

DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.mysql', # 数据库引擎
          'NAME': 'Bookdb', # 数据库名称
          'HOST': 'localhost', # 数据库主机
          'PORT': '3306', # 数据库端口
          'USER': 'root', # 数据库用户名
          'PASSWORD': 'mysql', # 数据库密码
      }
  }

设置为中国区域
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

Django虚拟环境的搭建_django