【Django】初识
Django 是一款python web框架,相比bottle.py或者web.py,功能大而全,比较多的模块可以直接拿来使用
一. 安装
注意django与python版本的匹配,根据需求,选择最新版本还是稳定版本(LTS)?这里我选择的是 v1.11.8
的稳定版本
安装命令:pip install django==1.11.8
出现问题
1. 安装django库失败,解决方式:多执行几次
2. 执行django-admin startproject **
创建项目,报CommandError: **\manage.py already exists, overlaying a project or app into an existing directory won't replace conflicting file
,原因及解决方式:版本冲突,我电脑上安装有python2和python3,2个环境都有django库,之后执行pip uninstall
卸载成功后,再次执行仍然报错,查看site-packages
文件夹,django文件夹仍然存在,删除后正常
二. 项目结构
结构目录
创建项目:django-admin startproject【项目名】
mysite/
manage.py #---管理django的命令行工具
mysite/
__init__.py #---告诉python这是一个包目录
settings.py #---配置文件
urls.py #---url目录,映射文件配置
wsgi.py #---运行在 WSGI 兼容的Web服务器上的入口
创建应用【一个项目可分成多个应用,便于管理】python3 manage.py startapp polls
#执行后,会在项目的同级目录下创建polls文件夹,内部结构如下
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
三. 配置文件
根目录下的 settings.py
文件
DEBUG
:默认是true,启动服务器的情况下,文件更改也会自动更改,不需要手动重启服务器
INSTALLED_APPS
:应用配置,为了使用子应用的model,需要将子应用配置上去
TEMPLATES
:模板文件配置,主要是DIRS
字段,告诉服务器模板的位置
DATABASES
:默认是sqlite3,我使用的是mysql,需要配置密码、账号等信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
'CHARSET':''
}
}
TIME_ZONE
和USE_TZ
:设置时区,这里设置
TIME_ZONE = 'Asia/Shanghai'
USE_TZ =False
STATIC_URL
:配置访问静态文件【css、js、Images等】的URL前缀,类似别名
STATICFILES_DIRS
:存放查找静态文件的目录
1. 以上的每个配置项说明在注释里面都有对应的url访问查看详细,最好直接看官网解释
2. 由于MySQLdb只支持Python2.,还不支持3.可以用PyMySQL代替,则需要在主目录的
__init__.py
中添加便可使用pymysql的API与mysql交互
import pymysql
pymysql.install_as_MySQLdb()#当成是mysqldb一样使用,否则,按照pymysql的方式
四. MVC的设计模式
MVC即Model【模型】-View【视图】-Controller【控制器】,实现了逻辑及界面的分离
django遵循的MVC的设计模式
Model ---类型MVC的Model,数据模型,抽象地描述数据的构成和逻辑关系
URL+View ---类似Control,url 映射及处理和响应请求
Template ---类似view,用来展示view传来的数据或者控制界面的显示样式
五.结语
附上最新版本的API说明:https://docs.djangoproject.com/zh-hans/2.1/ref/settings/,v1.8.11与v.2.1细节会有点差异,但整体框架不变