MVT图解
1.创建项目
django-admin startproject bookmanager
2.创建应用
python manager.py startapp book
3.更换python解释器:按需选择
# 进入指定虚拟环境 which python # python2 /home/python/.virtualenvs/py_django/bin/python # python3 /home/python/.virtualenvs/py3_django/bin/python
4.安装应用
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', #添加子应用 'book.apps.BookConfig' ]
5.本地化
#设置中文 LANGUAGE_CODE = 'zh-Hans' #亚洲上海时区 TIME_ZONE = 'Asia/Shanghai'
6.模板路径
在应用同级目录下,创建templates
模板文件夹
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
7.项目中匹配urls
正则 : 路径只要不是admin/
就算匹配成功。并包含到应用中的urls.py
from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), #正则为:只要不是 admin/ 就算匹配成功 url(r'^',include('book.urls')) ]
8.应用中匹配urls.py
urls.py
正则 : 路径中包含booklist/
,就调用视图中对应的bookList
函数
from django.conf.urls import url from book.views import bookList urlpatterns = [ # 匹配书籍列表信息的URL,调用对应的bookList视图 url(r'^booklist/$',bookList) ]
9.准备视图
# 定义视图:提供书籍列表信息 def bookList(request): return HttpResponse('OK!')
10.开启服务器, 测试项目
# 进入项目文件中, 开启项目对应的服务器 python manage.py runserver # 浏览器中输入网址 http://127.0.0.1:8000/booklist/
在settings.py中保存了数据库的连接配置信息,Django默认初始配置使用sqlite数据库。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
使用MySQL数据库首先需要安装驱动程序
pip install PyMySQL
在Django的工程同名子目录的__init__.py文件中添加如下语句
import pymysql pymysql.install_as_MySQLdb()
作用是让Django的ORM能以mysqldb的方式来调用PyMySQL。
修改DATABASES配置信息
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', # 数据库主机 'PORT': 3306, # 数据库端口 'USER': 'root', # 数据库用户名 'PASSWORD': 'mysql', # 数据库用户密码 'NAME': 'book' # 数据库名字 } }
在MySQL中创建数据库
create database book charset=utf8;