[TOC]
* * * * *
# H1 这是一个一级标题 分类
## H2 这是一个二级标题 类
### H3 这是一个三级标题 属性
#### H4 这是一个四级标题 方法
##### H5 这是一个五级标题 参数
###### H5 这是一个六级标题 描述
> 说明:
>[info] 语法:
>[success] 备注:
>[warning] 示例:
>[danger] 警告:
`代码块`
~~~
代码行
~~~
# 部署
## 官方资源
### 网站
[Django官网](https://www.djangoproject.com/)
### 文档
## 部署
### 下载
[Django官网下载](https://www.djangoproject.com/download/)
### PIP
>[info]命令:
>默认版本:`pip install django`
>指定版本:`pip install django==版本号`
## 文件结构
~~~
|-- project/ # 项目根项目
|-- __init__.py
|-- settings.py # 配置文件
|-- urls.py # 主路由文件
|-- views.py # 根项目视图模块
|-- wsgi.py
|-- apps/ # 项目子模块应用[子项目]
|-- admin.py # 后台数据注册模块
|-- app.py # 子项目描述模块
|-- urls.py # 子路由文件,需要包含到主路由中使用
|-- views.py # 子项目视图模块
|-- models.py # 子项目中的类型定义模块
|-- manage.py # 命令模块
|-- static/ # 静态文件目录
|-- templates/ # 模板目录
~~~
## 配置
### Project
#### settings
##### Datebase(数据库)
>[success]配置项目数据库
>[warning]示例:`settings.py`
~~~Python
# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
DATABASES = {
'default': { #默认数据库,多个数据库就定义多个数据库字典。
'ENGINE': 'django.db.backends.sqlite3', #数据库引擎:sqlite3,mysql(插件),pyodbc(插件),postgresql_psycopg2(插件)
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), #数据库名字
'HOST': '127.0.0.1', #数据库地址
'POST': '3306' #端口
'USER': 'root' #用户
'PASSWORD': 'root' #密码
}
}
~~~
###### SQLITE
###### SQLSERVER
###### MYSQL
>[warning]命令行模式下安装pymysql
~~~
# Windows
pip install pymysql
# OSX
# Linux
~~~
>[warning]`project/__init__.py`
~~~Python
# 导入pymysql模块
import pymysql
# 用pymysql替代MySQLdb
pymysql.install_as_MySQLdb()
~~~
###### POSTGRESQL
###### ORACLE
##### Static(静态文件)
>[success]存储项目内的静态文件:`Images(图片)`、`CSS(样式表)`、`JS(JavaScript)`、`媒体文件(Media)`
~~~Python
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/
# 静态文件的别名
STATIC_URL = '/static/'
# 配置静态文件目录,拼接项目根目录与static
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
~~~
#### urls
#### views
### Apps
#### models
## 命令
### startproject
### startapp
### makemigrations
### mirage