多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[toc] --- ## 安装 > django的安装很简单,部署好Python环境之后,使用`pip` 或者 `easy_install` 等命令就可以完成django的安装,不过推荐使用 `pip`;当然也可以采用源码安装,只不过相对更复杂而已,没有必要自寻烦恼啦~ --- 默认安装最新的版本 pip install django 或者可以安装指定版本的 pip install django==2.1.4 ## 配置 首次安装安装之后可以先根据 `django-admin.py startproject demo` 来初始化一个demo项目,然后可以具体研究django的配置 `demo/demo/settings.py` ```python root@pts/6 $ django-admin.py startproject demo root@pts/6 $ tree demo/ demo/ ├── demo │   ├── __init__.py │   ├── settings.py │   ├── urls.py │   └── wsgi.py └── manage.py 1 directory, 5 files ``` --- ### ALLOWED_HOSTS 该选项相当于添加白名单,限定只有那些IP或者域名等才可以访问当前的服务,提高安全性,强烈不建议配置成`*` --- ### INSTALLED_APPS 添加通过`python manage.py startapp appname` 创建的应用的appname 。 django`一个项目`可以构建`多个APP`;类比一个门户网站可能存在新闻板块、论坛版本等多个模块一样。 --- ### MIDDLEWARE django的中间件其实是`一系列类`, 是在发出request之后,到达view function之间和 view function到 response请求之间存在的一些处理。下面的图很形象的说明 ![django-middleware](http://pjb8jo7uj.bkt.clouddn.com/django-middleware-1.svg) 详细的中间件的讲解请参考 [django 中间件详解](http://django.colinspace.com/866398) --- ### ROOT_URLCONF 这个保持系统默认生成就行,代表的是当前项目的URL的入口位置 --- ### TEMPLATES django是采用MTV模型 + M是指Model,业务对象到数据库对象的映射(ORM) + T是指Template 即模板,负责如何把需要的数据通过页面展示给用户 + V是指View 视图,处理具体的业务逻辑,也可以在适当的时候调用Model和Template `TEMPLATES` 配置一般修改其中的 `'DIRS': []` 配置即可, 比如 # 在 appname/templates/appname/ 下面找 具体的页面 'DIRS': [os.path.join('templates')] 参考:[MVC和MTV模型](http://www.cnblogs.com/zgf-666/p/9218873.html) --- ### WSGI_APPLICATION 和`ROOT_URLCONF`一样,保持系统自动生成即可,不做修改。 ### DATABASES django目前支持的数据库包括:MySQL、oracle、sqlite3、postgresql 默认配置sqlite3: ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ``` 修改为默认为mysql ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.msyql', 'HOST': 'xxx.xxx.xx.xx', 'USER': 'xdevops', 'PASSWORD': 'X@devops#2099', 'NAME': 'xdevopsdb', 'PORT': 3306 } } ```