Python-django

一.MVC和MVT框架

①MVC:
MVC的全拼为Model-View-Controller。是一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。现在虽然不再使用原来的分工方式,但是这种分工的思想被沿用下来,广泛应用于软件工程中,是一种典型并且应用广泛的软件架构模式。后来,MVC的思想被应用在了Web开发方面,被称为Web MVC框架。
MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
当前主流的开发语言如Java、PHP、Python中都有MVC框架。
1.M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
2.V全拼为View,用于封装结果,生成页面展示的html内容。
3.C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。


Python-django_第1张图片
MVC框架

②MVT:
1.M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
2.V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
3.T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
(差异就在于黑线黑箭头标识出来的部分)


Python-django_第2张图片
MVT框架
ORM框架

①ORM的含义:
O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。
django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。
②使用django进行数据库开发的步骤:
1.在models.py中定义模型类
2.迁移
3.通过类和对象完成数据增删改查操作

Django进行开发的整个流程再次详细说明以达到巩固的目的

1.配置环境

pip install virtualenv 

(virtualenv是一个虚拟环境,目的在于将不同的项目之间隔离开来,以达到不同的项目使用他们适合的python版本)

pip install virtualenvwrapper-win

(virtualenvwrapper也是一个虚拟环境,他相较于virtualenv的优点是,virtualenv需要记住每一个虚拟环境所在的目录,在使用时需要寻找,而virtualenvwrapper可以将所有的虚拟环境到放到一个目录下统一管理,这样的话就不需要记住每一个虚拟环境所在的目录了)

mkvirtualenv -p python3 py_django

(创建一个python3的虚拟环境,前提是电脑里面有python3,虚拟环境的名称是py_django)
注意:创建的目录为系统盘\用户\电脑品牌(我猜的)\Envs文件夹下

deactivate

退出python环境

workon py_django

进入python文件环境

pip list

显示环境内的包以及版本

rmvirtualenv py_django

删除虚拟环境的命令,需要注意的是,要退出环境再删,就好像你要先点结束服务再取卡一样

pip install django==1.8.2

在python的环境内下载django,因为python虚拟环境中是与正常的系统隔离开的 所以需要在虚拟环境中下载django

mkdir pytest(创建)
cd pytest(进入)

创建一个文件夹,用于存放django的项目

django-admin startproject test1

创建一个django项目以及其所在的文件夹

cd test1(进入)
python manage.py startapp booktest(新建)

进入test1文件夹 并新建一个django项目这个是实例项目 系统会以这个名称建一个文件夹作为项目存放位置

#点开test1的setting_py文件 加入“booktest”
Python-django_第3张图片
python manage.py runserver(运行)
通过CTRL+C来推出环境
Python-django_第4张图片

成功的样子


还可以通过pycharm进行傻瓜式创建


Python-django_第5张图片
STEP1

好了,创建成功了


接下来我们要开始第二天的内容了哟
首先需要注意的是,对应于djang1.8.2的是python的3.5版本 如果切换3.7可能会出现不可预知(我不知道)的错误,所以我们要切换到3.5版本。
定义模型类
首先我们需要进入创建的py_django环境中的test1文件夹中
1.注册


Python-django_第6张图片
image.png

2.载入虚拟环境


Python-django_第7张图片
步骤一

Python-django_第8张图片
步骤二

Python-django_第9张图片
步骤三

Python-django_第10张图片
步骤四

Python-django_第11张图片
步骤五

静待配置完成
3.设计模型类---models.py
Python-django_第12张图片

4.迁移---迁移前需要进入虚拟环境

python manage.py makemigrations 

显示下图便是迁移成功


Python-django_第13张图片


5.在数据库中生成表

python manage.py migrate

出现下图所示便表示成功



Python-django_第14张图片

6.在pycharm中显示数据库


Python-django_第15张图片
步骤一

Python-django_第16张图片
步骤二

Python-django_第17张图片
步骤三

成功标志如下图
Python-django_第18张图片

生成的表的名字叫booktest_bookinfo前者是项目名称,后者是定义的类的名称


Python-django_第19张图片

7.使用shell脚本操作数据库
python manage.py shell
Python-django_第20张图片

8.设计人物类


Python-django_第21张图片

9.依旧是迁移 不赘述
成功如图


Python-django_第22张图片

10.执行shell进行增删改查
Python-django_第23张图片

11.进行人物类与书籍类的关联
Python-django_第24张图片

12.查看所有的与书籍关联的人物


后台管理功能

1.后台管理本地化 市区调整


Python-django_第25张图片

2.创建超级管理员

python manage.py createsuperuser
Python-django_第26张图片

注意这里密码不是明文显示的 是空白的 不要以为是你的键盘不好使了 我的密码是123456
3.启动服务器试一试超级管理员

python manage.py runserver

在网址的后面输入admin进入超级管理员登录界面


Python-django_第27张图片

登录成功后的页面如图


Python-django_第28张图片

注册模型类

1.数据库管理工具

Python-django_第29张图片

Python-django_第30张图片

2.如何能够直接显示阳间能看得懂的东西呢
Python-django_第31张图片

重写一个 str方法就好啦
Python-django_第32张图片

这样就不是阴间代码了奥
3.自定义管理页面
这样只显示一个还是不够清楚明白 这时候我们就需要自定义了
Python-django_第33张图片

视图--views.py

视图就是一个Python函数,被定义在views.py中。
视图的必须有一个参数,一般叫request,视图必须返回HttpResponse对象,HttpResponse中的参数内容会显示在浏览器的页面上。
首先在django主项目的url中添加一个指向我们booktest项目的url 然后再booktest下面创立url.py文件(从主项目复制也可以)


Python-django_第34张图片

复制完成之后对booktest下的url进行修改,此时我们调用的是我们项目中views.py中定义的视图模块,所以url的response值要指向views.index


Python-django_第35张图片

正确显示如下图
Python-django_第36张图片

此处我们需要注意的是,因为正则表达式有严格和非严格之分 加上$才是严格的,如果不加的话很有可能出现页面混乱的错误
Python-django_第37张图片
image.png

Python-django_第38张图片
image.png

Python-django_第39张图片
image.png

模板-templates

在Django中,将前端的内容定义在模板中,然后再把模板交给视图调用,各种漂亮、炫酷的效果就出现了。
首先需要进行环境配置,将模板的位置定义出来在setting.py中的TEMPLATES中


Python-django_第40张图片
第一步
Python-django_第41张图片
第二步

Python-django_第42张图片
第三步

Python-django_第43张图片
第四步

Python-django_第44张图片
第五步

Python-django_第45张图片

你可能感兴趣的:(Python-django)