Django

MVC框架

MVC,全称Model View Controller,即模型-视图-控制器;

  1. Model(模型):
    是Web应用中用于处理数据逻辑的部分,包括Service层和Dao层;
    Service层用于和数据库联动,放置业务逻辑代码,处理数据库的增删改查,
    Dao层用于放各种接口,以备调用;

  2. View(视图):
    是Web应用中处理响应给客户的页面的部分,例如我们写的html静态页面,jsp动态页面,这些最终响应给浏览器的页面都是视图;
    通常视图是依据模型数据来创建的;

  3. Controller(控制器):
    在Web应用中,简而言之,就是Servlet,或者SpringMVC框架中加了注解@Controller的方法(实际上一个方法就相当于一个对应的Servlet);

Django

MVT
M:model模型 等同于MVC中的M,和数据库交互之类的
V:视图 和MVC中C的功能相同,接受请求,进行处理
T:template模板 等同于MVC中的V,产生html页面等

安装django
pip install django==1.8.2
创建一个新的项目
django-admin startproject 项目名称

test1目录下有一个manage.py文件,一个test1文件夹
test目录下
test1文件夹是一个包,里面有四个文件,第一个文件表明这是一个python包,第二个文件是项目的配置文件,第三个是进行url路由的配置
在这里插入图片描述

创建应用

在django开发中,每一个模块功能使用一个django应用来开发
一个项目有很多个应用组成,每一个应用完成一个特定的功能
创建应用的命令如下:

python manage.py startapp 应用名

创建完一个应用之后就会出现一个应用的文件夹
在这里插入图片描述
一个应用的文件夹下的结构如下所示:
init.py:说明是一个python模块
models.py:写和数据库相关的内容
views.py:接受请求,进行处理,与M和T进行交互,返回应答,定义处理函数,视图函数。
test.py:写测试代码的文件
admin.py:网站后台管理相关的文件
在这里插入图片描述
还需要建立项目和应用之间的联系,否则项目无法使用这个应用,需要对应用进行注册,就是修改settings.py中的INSTALLED_APPS配置项
在这里插入图片描述
让django项目运行,只需要如下代码:

python manage.py runserver
ORM框架

O:Object对象和类
R:relation关系,关系数据库中的表
M:映射,对象和类到表的映射

django中内置了ORM框架,ORM框架可以将model.py中将类和数据表对应起来,只需要通过类和对象就可以操作数据表,不需要使用SQL语句。

模型类设计和表生成

一. 在对应的应用下的model.py文件夹下写模型类,如下所示:
在这里插入图片描述
二. 之后就是生成迁移文件,通过如下操作:

python manage.py makemigrations

如下图所示:
在这里插入图片描述
之后在应用的migrations文件夹下会生成一个0001_initial.py文件,如图所示:
在这里插入图片描述
而在0001_initial.py中就有表结构,如下图所示:
在这里插入图片描述
要注意的是ID是自己生成的,不需要定义。
三. 执行迁移生成表
命令:

python manage.py migrate

如下图所示即为创建成功:
在这里插入图片描述
创建出来的表如下所示:
在这里插入图片描述
在django中默认数据库是sqlite,但是也可以改变数据库,在settings.py中可修改数据库:
在这里插入图片描述

通过模型类操作数据表

通过命令来操作:

python manage.py shell

如下图所示,首先是导入BookInfo,定义一个实例对象,定义一些属性赋值即可,数据表中就会加入一行数据:
在这里插入图片描述
查询id=1的数据
在这里插入图片描述
修改和删除如下所示,修改之后要save才能生效,删除不需要save,如下图所示:
在这里插入图片描述

模型类之间关系的建立

在models.py中再定义一个英雄类,如下所示:
在这里插入图片描述
再生成迁移文件:
在这里插入图片描述
再迁移生成表
在这里插入图片描述
操作两个相关联的表。
查看一张表的所有内容

BookInfo.objects.all()

增加数据,创建实例对象,给实例对象的各个字段赋值,在给外键关联时,必须用一个对象的实例给另一个对象的字段赋值,也就是h2.hbook = b
在这里插入图片描述
查询数据的操作也是一样的
在这里插入图片描述

django后台管理
  1. 本地化,语言和时区的本地化,修改settings.py文件
  2. 创建管理员,命令:python manage.py createsuperuser
  3. 注册模型类,在应用的admin.py文件中注册模型类,告诉django框架根据注册的模型类来生成对应的表管理页面。b = BookInfo() str(b)str

第一步本地化,修改settings.py,代码如下:
在这里插入图片描述
第二步创建管理员,代码如下:
在这里插入图片描述
之后可以通过python manage.py runserver,打开浏览器,输入http://127.0.0.1:8000/admin/即可找到后台管理的页面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第三步就是注册模型类,在应用的admin.py文件下,注册
在这里插入图片描述
之后在重新刷新浏览器页面后,就会出现BookInfo
在这里插入图片描述
要想让后台管理器显示的内容通过在models.py对应的模型类加一个__str__方法
在这里插入图片描述
控制后台管理页面显示的表的内容,原来的页面显示这些内容
在这里插入图片描述
通过在admin.py中加入下面代码:
在这里插入图片描述
之后显示的内容就会变成这样:
在这里插入图片描述

视图

在django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求,视图函数处理之后,要给浏览器返回页面内容。

视图函数的使用
  1. 定义视图函数,视图函数定义在views.py中,视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,例如在这里插入图片描述
  2. 进行url配置,给定一个url地址后,比如http://127.0.0.1:8000/index,首先会去项目的urls.py文件下下找对应的地址,找到了然后去对应的应用下的urls.py下找对应的视图函数,所以总共要写三部分,第一部分,写应用下的view.py视图函数,第二部分将应用下的urls.py进行url和视图函数的对应,第三部分把应用的urls添加到项目的urls.py文件夹中。如图所示:第一部分在这里插入图片描述在这里插入图片描述
    所有的url配置项都定义在一个叫做urlpatterns的列表中,每一个配置项第一个参数时正则表达式,第二个参数是对应的处理动作,可以写一个视图函数的名字,和url字符串进行正则匹配,匹配成功则执行其后对应的处理动作,对应的动作可以是一个视图函数的名字,也可以是一个包含一个应用的urls.py文件。
模板的使用

模板不仅仅是一个html文件
模板文件的使用

  1. 创建模板文件夹,项目文件夹下创建一个templates的文件夹
  2. 配置模板目录,修改项目文件下的settings.py,在这里插入图片描述
  3. 使用模板文件分为3步:1.加载模板文件,去模板目录下获取HTML文件的内容,得到一个模板对象。2.定义模板上下文,像模板文件传递数据。3.模板渲染,得到一个标准的html内容
    大概可以分为这四步,但是可以不写这个函数,有内置的render
    在这里插入图片描述
    在这里插入图片描述
    在html文件中怎么使用传来的变量,如下所示:
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值