目录
- 创建django项目
- 创建django应用
- 项目与应用的联系
2020-01-13 22:45:36 星期一
常见的web框架MVC模型:
-
MVC模型的简介:
MVC(Model View Controller)的中文名称叫做模型视图控制器模型,就是因为它的英文名字太流行了,中文名字反而被忽略了。它诞生于20世纪80年代,原本是为桌面应用程序建立起来的一个框架,现在反而在Web应用中大放异彩(其实也可以把B/S认为是C/S的瘦化结构),MVC框架的目的是通过控制器C将模型M(代表的是业务数据和业务逻辑)和视图V(人机交互的界面)实现代码分离,从而使同一个逻辑或行为或数据可以具有不同的表现形式,或者是同样的应用逻辑共享相同、不同视图。比如,可以在IE浏览器访问某应用网站(页面格式遵守HTML标准),也可以用于手机访问。
简单点说就是和算法中的分而治之有点像。将一个功能分成不同的模块进行操作,最后在进行并,也就是耦合。
-
MVC模型的原理:
下面这个就是MVC工作的基本原理图:
浏览器(客户端)发送请求给 C 控制器,控制器将接收数据后,通过 M 将数据存放到数据库中并将存储的结果直接返回给 C , C 然后给 v 视图发送命令, v 将展示视图的HTML返回给 c 控制器,控制器最后再将返回来的命令直接传给浏览器进行展示。综上:MVC模块中各个器件的工作原理也都清晰明了:
C:控制器。相当于人的大脑,进行命令的处理和结果的返回。与M和V进行交互。
V:视图器。展示的html页面全部都交给它进行。
M:模板器。和数据库进行交互。
MVT模型
-
MVT模型的简介
MVT模型和传统的MVC模型实际上是一样的。只是在创建Django这个框架的时候,把他改成了MVT模型。但是实际上的一些功能的组成是和MVC是一样的。在这里也不过多的讲述。
-
MVT模型的原理:
下面的图就是MVT模型工作的基本原理
浏览器发送请求的命令给V视图,视图v接受到数据后交给M进行和数据库的交互。模块M将数据存储到数据库之后,将存储的结果和请求一并发给V表示已经存储完成了。然后v将接受到的指令发给T模块说要展示给用户看,然后模块T接受到指令后返回相应的html给模块V,最后模块V在将返回的html返回给用户进行展示。整个过程其实和MVC的如出一辙,只不过就是模块的名称换了。MVT模块中的各个器件的工作原理:
M :和在MVC中一样还是用于和数据库的交互
V :控制器的作用。用于和用户进行命令的发送和接收。主要是与用户进行交互
T:就是在MVC中视图的作用。存储html的页面。需要时进行展示
Django
- Django官方文档: https://www.djangoproject.com/
- Django2.0开发文档: https://docs.djangoproject.com/zh-hans/2.0/
虚拟环境
-
什么是虚拟环境
如果一台机器上面又好几个不同的软件需要不同的环境来运行,而后面的环境里面的包可能会将前面所使用的包里面的进行覆盖,然后就造成了软件不能够运行的情况,这样的时候虚拟环境就派上了用场。
虚拟环境就是直接将原来的原环境进行复制,后面再需要添加一些包的时候再进行添加,但是与整个环境是隔离开来的。对各个环境之间互相都不影响。这就是创建虚拟环境的好处。
-
创建虚拟环境
-
安装虚拟环境的命令:
-
安装虚拟环境
sudo pip install virtualenv -
安装虚拟环境扩展包
sudo pip install virtualenvwrapper -
编辑.bashrc文件添加下面两行:
export WORKON_HOME=$HOME/.virtualenvs
#这一行主要是将创建的虚拟环境的路径添加到下面source/usr/local/bin/virtualenvwrapper.sh
#这一行主要是将扩展文件的路径添加到下面 -
使用source .bashrc将扩展包文件进行生效
#这个扩展包的文件就是方便使用虚拟环境,不用总是输入很长的命令进行使用。(其中值得注意的就是输入这个命令的时候中间是有一个空格的,不然会出现找不到命令这个错误。)
-
- 使用虚拟环境的命令:
-
创建虚拟环境的命令:
mkvirtualenv (虚拟环境的名称)
#一般使用这个命令的创建的虚拟环境是默认的版本如果要使用python3进行创建的话,可以使用下面的命令进行:
mkvirtualenv -p python3 (虚拟环境的名字) -
进入虚拟环境
workon virtualenvs (虚拟环境的名字)
进入虚拟环境后,所有安装的包均在虚拟环境下的python文件夹中 -
退出虚拟环境
deactivate
直接就可以退出当前的虚拟环境 -
查看当前所有的虚拟环境
workon+空格+Table按两下就能显示出所有的虚拟环境 -
删除虚拟环境
rmvirtualenv(虚拟环境的名称)
-
- 虚拟环境中安装包的常见命令:
-
安装指定版本的包或者软件:
pip install (包的名字)==(版本号) 例如:pip install Django==2.0
(值得注意的是:不能使用 sudo pip install Django==2.0 sudo代表着超级管理的意思,这样会直接将包安装到真实的主机环境中间去)
apt-get install (软件) 例如:apt-get install mysql
(这个安装命令是直接安装软件的,不像前面一个pip install (包的名字)==(版本号)一样是需要依赖于python环境下才能进行安装的。这个命令直接在虚拟环境下安装想要使用的软件,不需要依赖于任何的环境)
-
查看当前虚拟环境安装的所有包的命令
pip list 或者 pip freeze
-
创建Django项目
-
创建Django项目:
django-admin startproject(项目的名称)
manage.py:
主要是用来创建一些应用的系统式文件init.py:
初始化文件.告诉使用者这是一个python的包settings.py:
项目的配置文件urls.py:
主要是配置路由url地址wsgi.py:
服务器与django交互的入口
-
创建Django应用:
python manage.py startapp (应用的名称)
admin.py:
这是后台进行管理的文件,同过这个文件进行后台管理。apps.py:
当前app的配置信息,在Django1.9后自动生成,一般情况下无须进行修改M,V,T,:
mvt三兄弟前面有就不在这里细说了
-
项目与应用的联系:
在项目的setting.py文件中配置前面已经创建过的应用,使得项目和应用产生联系
2020-01-13 22:45:36 星期一
ORM框架:
O(object 类,对象),R(relation 关系),M(mapping 映射)
ORM也就是根据O模板中的类生成相应的表直接映射到数据库中进行相应的操作
Django中内置了ORM框架。直接可以通过模型类映射到数据库中的表,操作数据表,从而不在需要使用SQL语句进行操作。
ORM还可以根据设计的类生成数据库中的表
模型类生成表
这里只作简单得介绍,具体得看开发文档中的模型类即可
-
Django1.8.2开发文档模型类:
https://docs.djangoproject.com/zh-hans/2.0/intro/overview/ -
先在model.py文件中创建模型类:
模型类中的具体细节后面在讲。先在model.py文件中创建模型类。
-
生成迁移文件
python manage.py makemigrations这个样子表示迁移文件生成成功。
生成的迁移文件直接放在migrations的文件夹下。
迁移文件的内容# Generated by Django 2.0 on 2020-01-14 10:48 from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='BookInfor', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('btitle', models.CharField(max_length=20)), ('bup_data', models.DateField()), ], ), ] #迁移文件中主要是类似于sql语句一样的,将创建的模型类直接变成相应的语句一样
- 执行迁移生成表
python manage.py migrate
这样就表明将迁移文件生成了表
Django后台管理
- 本地化
本地化需要执行的就是修改 所在的地区和时间
在项目配置的setting.py目录中进行修改
如图所示:
Asia/Shanhai: 表示使用上海时区的时间作为后台管理的时间
en-hans: 表示使用汉字作为语言文字
- 创建超级管理员
输入命令:
python manage.py createsuperuser
输入之后按照要求填写
用户名:
邮箱:
密码:
就可以创建超级用户
-
登录管理员账户
127.0.0.1:8000/admin
后面加上admin就能进入管理员登录页面进行登录
输入创建的用户和密码就能就行登录
-
增删改查
后台管理的操作还是比较直白和简单的。直接操作就行。登录后看不到数据表中的操作
只有用户组的(可以进行注册用户删除用户等等的操作)
在admin中注册
这里需要在前面从应用中的models模块中导入两个模型类
就可以看到数据库中的表直接的展示在了后台管理之中后台展示
-
自定义管理页面
想要在后台中显示出表中的信息,而不是直接的一本书,可以自定义显示页面
admin中可以直接写两个模型管理类,并将要显示的内容直接放在列表中
然后注册模型类的时候,在模型类的后面加上注册的模型管理就行效果显示:
而不是直接展示固定的书名了。书籍有关的信息都可以自己随心所欲的展示.
视图函数的使用
-
视图函数基本的使用规则
视图函数的使用基本的套路:
-
视图函数配置
-
项目urls的配置:
urlpatterns: 是所有url地址的集合。整个项目最先就是到这个地方进行地址匹配搜索。
path(): 最前面一个参数是正则表达式进行匹配。匹配上了后就执行后面的include函数。找到应用中的url地址 -
应用url的配置:
应用的url的写法和项目的写法都是一样的,就不再具体叙述。
-
视图函数
视图函数得配置如图:
-
来源:CSDN
作者:青柠辄酒
链接:https://blog.csdn.net/qq_43707116/article/details/104116953