背景了解
Django是什么
- Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。
特点
- 在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为MVT模式。
- Django的主要目的是简便、快速的开发数据库驱动,它强调代码复用。
- 对象关系映射 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
- URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。
- 模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
- 表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
- Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
- 会话(session),用户登录与权限检查,快速开发用户会话功能。
- 国际化:内置国际化系统,方便开发出多种语言的网站。
- 自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。Django自带一 个ADMIN site,类似于内容管理系统
MVC
- 核心: 分层,解耦。
- 目的: 提高程序的扩展性和可维护性。
- Model(模型)表示应用程序核心(比如数据库记录列表)。
- View(视图)显示数据(数据库记录)。
- Controller(控制器)处理输入(写入数据库记录)。
MVT
- 核心:解耦
- 目的:高内聚 低耦合
- M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
环境搭建
基础环境:ubuntu16.04虚拟机 + pycharm 2018.2.4 + Firefox
需要联网
-
打开客户端命令行
1. 安装相关
1)安装虚拟环境python3
sudo pip3 install virtualenv
拓展包
sudo pip3 install virtualenvwrapper
2)安装django1.8.4
pip install django==1.8.4
3)安装pymysql
pip install pymysql
4)安装sqliteman数据库----用mysql则不需要
sudo apt-get install sqliteman
2.虚拟环境相关python3
1)创建
mkvirtualenv -p python3 虚拟环境的名字
2)删除
rmvirtualenv 虚拟环境的名字
3)进入/切换
workon 虚拟环境的名字
4)退出
deactivate
5)查看已安装的包
pip list
6)查看额外安装的包
pip freeze
6)查看项目环境
tree
3.项目相关
1)创建项目
django-admin startproject 项目名
2)进入项目目录创建应用APP(业务模块)
python manage.py startapp 应用名
-
打开pycharm设置项目相关
1.进入setting
1)修改databases—使用mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':"数据库名",
'HOST':"127.0.0.1",
"PORT":'3306',
"USER":'root',
"PASSWORD":'mysql'
}
}
2)修改__init__
import pymysql
pymysql.install_as_MySQLdb()
- 打开命令行开启服务
python manage.py runserver
- 打开web进入127.0.0.1:8000测试
具体操作
1.环境搭建完毕
2.创建数据库
——客户端命令行
——进入数据库环境下
create database 数据库名 charset=utf8;
3.为数据库建立模型
——进入model
以id为主键 不必写
from django.db import models
class BookInfo(models.Model):
#——字符——
btitle = models.CharField(max_length=20)
#——时间——
bpub_date = models.DateField()
#——整型——
reader = models.Integerfield(max_length=50,default=0)
#——浮点——
num = models.FloatField()
#——精确浮点——(总长8,小数位3)
price=models.DecimalField(max_digits=8,decimal_places=3)
#——外键——
user = models.ForeignKey('UserInfo')
#——枚举——
choice=(
(1,'男人'),
(2,'女人'),
(3,'其他')
)
lover=models.IntegerField(choices=choice)
#——大文本——(超过3000字)
text = models.TextField()
4.注册APP
——进入setting
——找到APPS
——在末尾添加新创建的app
5.迁移
——客户端命令行
——进入django环境
——找到当前项目
——生成迁移文件
python manage.py makemigrations
——执行迁移命令
python manage.py migrate
6.检查
——客户端命令行
——进入mysql环境
——检查迁移结果即是否生成表