1. Django 介绍
MVC 模型
- 大部分开发语言中都有 MVC 开发模型。
- MVC 框架的核心思想是:解耦——降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用。
- M 表示 Model,主要用于对数据库层的封装。
- V 表示 View,用于向用户展示结果。
- C 表示 Controller,是核心,用于处理请求、获取数据、返回结果。
MVT 模型
- Django 是一款 python 的 web 开发框架。
- 与 MVC 有所不同,属于 MVT 框架。
- M 表示 Model,负责与数据库交互。
- V 表示 View,是核心,负责接收请求、获取数据、返回结果。
- T 表示 Template,负责呈现内容到浏览器。
Django 开发流程范例
- 安装配置 Django 的运行环境。
- 创建项目、创建应用。
- 在应用的 model.py 定义模型类,执行迁移,生成对应的数据表(可使用简单 API 与数据库交互测试)。
- 使用 Django 的后台管理界面维护数据。
- 在应用的 views.py 定义视图,即处理核心逻辑的函数。
- 在项目目录下创建对应应用的模板目录,编写 html 页面。
- 在项目和应用的 urls.py 中配置 URL 与视图的映射。
- 通过视图接收指定 URL 的访问请求,通过模型操作数据,通过模板填充数据并完成页面展示。
2. Django 环境搭建
1)安装 Django
1.8.2 版本是一个稳定性高、使用广、文档多的版本:
pip.exe install django==1.8.2
进入 python shell,查看版本:
>>> import django
>>> django.get_version()
'1.8.2'
2)创建工程项目
执行如下命令:自定义项目名称并创建基本的工程目录
E:\>django-admin startproject DjangoDemo
项目名称 DjangoDemo 中的目录说明
- manage.py:一个命令行工具,可以使你用多种方式对 Django 项目进行交互。
- DjangoDemo:与我们命名的项目名称一致,真正的本项目 python 包。
- _init _.py:一个空文件,它告诉 python 这个目录应该被看做一个 python 包。
- settings.py:项目的配置。
- urls.py:项目的 url 声明。
- wsgi.py:项目与 wsgi 兼容的 web 服务器入口。
3)创建应用
在一个项目中可以创建一到多个应用,一个应用专门处理一种业务。
在项目根目录下,执行创建应用的命令:
python manage.py startapp hero_book
应用的目录结构如下图:
- migrations 包:根据模型类生成 SQL 语句,并作用到对应的数据库。
- admin.py:对本应用进行相关的管理。
- models.py:定义模型类(有多少个数据表,就有多少个模型类与之对应)。
- tests.py:Django 自带的测试模块。
- views.py:定义视图相关函数。
将创建的应用配置进项目的 settings.py 中:(当不需要迁移时则可不做此步配置)
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hero_book' # 新增的应用
)
3. 模型(Model)
设计介绍
本示例完成“图书-英雄”两种信息的维护。“图书”、“英雄”的关系为一对多。
“图书”表结构设计:
- 表名:BookInfo
- 图书名称:btitle
- 图书发布时间:bpub_date
“英雄”表结构设计:
- 表名:HeroInfo
- 英雄姓名:hname
- 英雄性别:hgender
- 英雄简介:hcontent
- 所属图书:hbook
数据库配置
- 在 settings.py 文件中,通过 DATABASES 项进行数据库设置。
- Django 支持的数据库包括 SQLite、MySQL 等主流数据库。
- Django 默认使用自带的 SQLite 数据库。
定义模型类
步骤如下:
- 打开应用的 models.py 文件
- 引入包 from django.db import models
- 模型类继承 models.Model 类
- 说明:不需