Django学习
文章平均质量分 77
烧麦Sn0wSt@r
懒得写
展开
-
Django全栈开发学习笔记(十六)——总结与项目实战
学习总结写在前面由于工作原因,停更了三个多月的时间,这三个月工作之余,我自己利用之前学习到的十五章内容制作了一个简单的资产管理系统接下来的章节准备分享出来,该系统只是业余时间制作完善,没用到第三方APP,同时Django的Admin模块以及Auth身份认证模块都比较简单,直接用现成的了,仅供学习参考吧~~...原创 2021-08-19 11:30:10 · 95 阅读 · 0 评论 -
Django全栈开发学习笔记(十五)——表单与模型
表单与模型Django的表单类型由Form类来实现,主要分为两种django.forms.Form 一个基础的表单功能django.forms.ModelForm 在上一个基础上结合模型所生成的数据表单传统的表单是在模板文件中HTML代码实现,一个完整的表单主要由4部分组成:提交地址(form标签的action属性)用于设置用户提交的表单数据应由哪个路由接收和处理,当用户向服务器提交数据时,若属性action为空,则提交的数据应由当前的路由来接收和处理,否则页面会跳转到属性action所指向原创 2021-03-09 15:22:19 · 259 阅读 · 0 评论 -
Django全栈开发学习笔记(十四)——多数据库的连接和使用
多数据库的连接与使用多数据库的连接直接代码示例,创建index和user两个新应用创建三个数据库如下:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }, 'db1': { 'ENGINE': 'django.db.backends.mysql',原创 2021-03-08 16:53:36 · 258 阅读 · 0 评论 -
Django全栈开发学习笔记(十三)——执行SQL语句和数据库事务
执行SQL语句对于一些复杂的查询,ORM提供的API方法可能难以使用,因而Django引入了SQL语句执行方法extra:结果集修改器,一种提供额外查询参数的机制raw:执行原始SQL并返回模型实例对象execute:直接执行自定义SQLextra适合用于ORM难以实现的查询条件,此方法需要依靠模型对象,在某种程度上可以防止SQL注入,它一共定义了6个参数select:添加新的查询字段,即新增定义模型之外的字段where:设置查询条件params:如何where设置了字符串格式化%s,原创 2021-03-08 15:51:31 · 154 阅读 · 0 评论 -
Django全栈开发学习笔记(十二)——数据的增、删、改、查
数据表操作数据表操作主要为增、删、改、查、执行SQL语句和实现数据库事务等操作数据新增:有模型实例化对象调用内置方法实现数据新增数据修改必须执行一次数据查询,在对查询结果进行修改操作,常用方法有:模型实例化、update方法和批量更新bulk_update数据删除必须执行一次数据查询,再查询结果进行删除操作,若删除的数据设有外键字段,则删除结果由外键的删除模式设定数据查询分为单表查询和多表查询,Django提供多种不同查询的API方法执行SQL语句有3中方法实现:extra、raw和execu原创 2021-03-08 15:09:45 · 318 阅读 · 1 评论 -
Django全栈开发学习笔记(十一)——数据表的关系
数据表关系一个模型对应数据库一张数据表,但是每张数据表之间是可以存在外键关联的,表与表之间一共有三种关联:一对一、一对多和多对多。一对一关系一对一关系,使用OneToOneField来构建 示例:models.py文件from django.db import models# Create your models here.class Performer(models.Model): id = models.IntegerField(primary_key=True) n原创 2021-03-04 16:03:49 · 209 阅读 · 1 评论 -
Django全栈开发学习笔记(十)——模型的定义与迁移
模型与数据库接下来将进入整个Django最关键也是最重要的学习内容,即模型与数据库的连接,Django对各种数据库都提供了很好地支持,默认使用SQLite3模型定义与数据迁移模型的定义:模型定义简书了模型字段和模型属性的设置,不同类型的模型字段对应不同的数据表字段,模型属性可用于Django其他功能模块,如设置模型所属的App开发个人的ORM框架是从源码深入剖析Django的ORM框架底层原理,并参考对比原理实现个人的ORM框架的开发数据迁移是根据模型在数据库立创建相应的数据表,这一过程由Dj原创 2021-03-04 11:24:37 · 205 阅读 · 1 评论 -
Django全栈开发学习笔记(九)——Jinja2模板引擎
Jinja2模板引擎设计思路源于Django的模板引擎,并扩展了语法和一些列强大的功能,其中最重要的是增加了沙箱执行功能和可选的自动转义功能,这对应用的安全来说非常重要,此外还有一些特性:沙箱执行模式:模板的每个部分都在引擎的监督之下执行,模板将会被明确地标记在白名单或黑名单内,这样对于不信任的模板也可以执行强大的自动HTML转义系统,可以有效地阻止跨站脚本攻击模板继承机制,此机制可以使得所有模板具有相似一致的布局,也方便开发人员对模板进行修改和管理高效的执行效率,Jinja2引擎在第一次加载时就原创 2021-03-03 09:38:37 · 138 阅读 · 0 评论 -
Django全栈开发学习笔记(八)——Django模板引擎
Django模板引擎Django模板引擎包含模板上下文(模板变量)、标签和过滤器:模板上下文是以变量的形式写入模板文件里面,变量值由视图函数或视图类传递所得标签是对模板上下文进行控制输出,比如模板上下文的判断和循环控制等模板继承隶属于标签过滤器是对模板上下文进行操作处理,比如内容截取、替换或者格式转换模板上下文上下文的数据由视图函数或者视图类传递,以{{variable}}表示,variable是上下文的名称,支持pyhon所有的数据类型。自定义标签标签是对模板上下文进行控制输出,以{原创 2021-03-03 08:58:40 · 345 阅读 · 0 评论 -
Django全栈开发学习笔记(七)——日期筛选视图
视图基础知识4日期筛选视图日期视图是根据模型里某个日期数据字段进行数据筛选,然后以一定形式展示在网页上。其实是在列表视图ListView或详细视图DetailView的基础上增加日期筛选所实现的视图类。一个七个此视图类ArchiveIndexView 是将数据表所有的数据以某个日期字段的降序方式进行排序显示。YearArchiveView 是在数据表筛选耨个日期字段某年的所有数据,默认升序排列,年份筛选范围由路由变量提供MonthArchiveView 某年某月所有数据,年份和月份的筛选范围都有原创 2021-03-02 15:41:29 · 425 阅读 · 0 评论 -
Django全栈开发学习笔记(六)——数据操作视图:增、改、删
视图基础知识31数据操作视图数据操作视图是对数据模型进行操作,如增、删、改,从而实现Django与数据库的数据交互。一共有4种视图类分别是FormView、CreateView、UpdateView和DeleteView。FormView:视图类使用内置的表单功能,通过表单实现数据验证、响应输出等功能,用于显示表单数据CreateView:实现模型的数据新增功能,通过内置的表单功能实现数据新增UpdateView:实现模型的数据修改功能,通过内置表单功能实现数据修改DeleteView:实现模原创 2021-03-02 11:13:13 · 354 阅读 · 2 评论 -
Django全栈开发学习笔记(五)——重定向视图、基础视图、列表视图、详细视图
视图基础知识21.数据显示视图数据显示视图是将后台的数据展示在网页上,数据主要来自模型,一共有4个视图类,分别是RedirectView、TemplateView、ListView、DetailView。RedirectView 用于实现HTTP重定向,默认情况下之定义GET请求的处理方法。TemplateView 是视图类的基础视图,可将数据传递给HTML模板,默认情况下之定义GET请求的处理方法。ListView 是在TemplateView 基础上将数据以列表显示,通常用来显示数据表1原创 2021-02-25 15:49:57 · 257 阅读 · 0 评论 -
Django全栈开发学习笔记(四)——FBV视图中的HTTP请求对象
2FBV视图中的HTTP请求对象2.1获取请求信息HTTP请求分为8中情况OPTIONS 返回服务器针对特定资源所支持的请求方法GET 向特定资源发出请求(访问页面)POST 向指定资源提交数据处理请求(提交表单,上传文件)PUT 向指定资源位置上传数据内容DELETE 请求服务器删除request-URL所标识的资源HEAD 与GET类似,用与获取报头TRACE 回复和显示服务器收到的请求,用于测试和诊断CONNECT 将连接改为管道方式(HTTP/1.1协议)其中GET和POS原创 2021-02-24 22:25:50 · 90 阅读 · 0 评论 -
Django全栈开发学习笔记(三)——FBV视图设置及相应方式
视图基础知识原创 2021-02-24 09:47:57 · 135 阅读 · 1 评论 -
Django全栈开发学习笔记(二)——路由规则
路由的基础知识一个完整的路由包含:路由地址、视图函数(视图类)、可选变量和路由命名。1路由的定义规则路由定义主要是通过urls.py文件来进行。该目录中有两个urls.py文件,分别在项目中test01目录以及App中index目录中,这样可以比较容易的管理每一个app的路由地址。这样的路由设计模式是Django中经常用到的,期工作原理如下:运行test01项目是,Django从test01文件夹的urls.py中找到各个app所定义的路由信息,生成完整的路由列表。当用户在浏览器上访问某个路原创 2021-02-23 15:16:56 · 158 阅读 · 0 评论 -
Django全栈开发学习笔记(一)——目录结构
1. Django的构成Django为是一个开源的Web应用框架,由Python写成,采用了MTV格式,及模型(model),模板(template)和视图(views)模型:数据存储层,主要用于与数据库进行衔接模板:表现层,主要用来表现页面信息视图:业务逻辑层,主要起到承上启下,连接模型与模板2.Django的目录结构manage.py 命令行工具settings.py 项目的配置文件urls.py 项目的路由设置wsgi.py 服务器网关接口,一般不需要修改in原创 2021-02-23 09:10:48 · 138 阅读 · 0 评论