1. Django入门知识
1.1 MVC框架
软件框架是由其中的各个模块组成的,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发。
MVC框架的核心思想:解耦合(让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容)。
MVC:model view controller
MVC各部分的功能
- M:Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
- V:View,用于封装结果,生成页面展示的html内容。
- C:Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
Django框架遵循MVC设计,并且有一个专有名词:MVT
MVT各部分的功能
- M:为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V:View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T:Template,与MVC中的V功能相同,负责封装构造要返回的html。
1.2 虚拟环境创建
1. 安装虚拟环境包
sudo pip install virtualenv
sudo pip install virtualenvwrapper
3. 创建虚拟环境
virtualenv 虚拟环境名
virtualenv -p python3 环境名(python3版本)
4. 虚拟环境操作
激活虚拟环境:
类unix环境:source [虚拟环境目录]/bin/activate
windows环境:进入虚拟环境目录执行activate
退出虚拟环境:deactivate
pip install xxx(虚拟环境下安装包)
pip install django==1.8.2(安装django环境)
1.3 Django项目及应用创建
1. 进入虚拟环境
workon 环境名(进入虚拟环境)
2. 创建django项目
django-admin startproject 项目名称
目录结构如下:
.
├── django_test
│ ├── __init__.py 说明目录是一个模块
│ ├── settings.py 项目的配置文件
│ ├── urls.py URL路由配置
│ └── wsgi.py web服务器和Django交互的入口
└── manage.py 项目的管理文件
3. 创建Django应用(一个项目由多个应用组成,每一个应用完成一个功能模块)
python manage.py startapp 应用名
目录结构如下:
.
├── __init__.py 说明目录是一个模块
├── admin.py 网站后台管理相关
├── migrations
│ └── __init__.py
├── models.py 数据库相关操作
├── tests.py 测试代码文件
└── views.py 接收请求,进行处理,返回结果(与M,T进行交互)编写处理函数、视图函数
4. 应用注册
建立应用和项目之间的联系,需要对应用进行注册:修改settings.py中的INSTALLED_APPS配置项
5. 启动项目
python manage.py runserver
python manage.py runserver port(指定端口运行)
2. 模型(Model)
ORM: 对象关系映射
1. ORM框架把类和数据表进行了一个映射,可以让我们通过类能操作所对应的表格中的数据。
2. ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。
3. django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。
2.1 Django数据库编程
使用django进行数据库开发的步骤如下:
- 在models.py中定义模型类
- 迁移
- 通过类和对象完成数据增删改查操作
2.1.1 定义数据表模型类
模型类需要继承models.Model类,类属性就对应数据库中的字段。
from django.db import models
class HeroInfo(models.Model):
"""英雄类"""
hname = models.CharField(max_length=20