Django
jacka654321
这个作者很懒,什么都没留下…
展开
-
django-web开发框架-模型类-02
设计介绍 本示例完成“图书-英雄”信息的维护,需要存储两种数据:图书、英雄 图书表结构设计: 表名:BookInfo 图书名称:btitle 图书发布时间:bpub_date 英雄表结构设计: 表名:HeroInfo 英雄姓名:hname 英雄性别:hgender 英雄简介:hcontent 所属图书:hbook 图书-英雄的关系为一对多 打开py...转载 2018-12-26 09:07:45 · 343 阅读 · 0 评论 -
django-web开发框架-csrf
csrf 全称Cross Site Request Forgery,跨站请求伪造 某些恶意网站上包含链接、表单按钮或者JavaScript,它们会利用登录过的用户在浏览器中的认证信息试图在你的网站上完成某些操作,这就是跨站攻击 演示csrf如下 创建视图csrf1用于展示表单,csrf2用于接收post请求 def csrf1(request): return render(re...转载 2019-04-07 12:50:01 · 148 阅读 · 0 评论 -
django-web开发框架-HTML转义
HTML转义 Django对字符串进行自动HTML转义,如在模板中输出如下值: 视图代码: def index(request): return render(request, 'temtest/index2.html', { 't1': '<h1>hello</h1>' ...转载 2019-04-07 11:16:57 · 157 阅读 · 0 评论 -
django-web开发框架-模板继承
模板继承 模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 block标签:在父模板中预留区域,在子模板中填充 extends继承:继承,写在模板文件的第一行 定义父模板base.html { %block block_name%} 这里可以定义默认值 如果不定义默认值,则表示空字符串 { %e...转载 2019-04-07 12:44:26 · 257 阅读 · 0 评论 -
django-web开发框架-管理静态文件
管理静态文件 项目中的CSS、图片、js都是静态文件 配置静态文件 在settings 文件中定义静态内容 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ] 在项目根目录下创建static目录,再创建当前应用名称的目录 mysite/static/myapp/ 在...转载 2019-04-07 22:50:38 · 235 阅读 · 0 评论 -
django-web开发框架-中间件
中间件 是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出 激活:添加到Django配置文件中的MIDDLEWARE_CLASSES元组中 每个中间件组件是一个独立的Python类,可以定义下面方法中的一个或多个 _init_:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件 process_request...转载 2019-04-08 06:34:59 · 279 阅读 · 0 评论 -
django-web开发框架-Admin站点
Admin站点 通过使用startproject创建的项目模版中,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用户名、邮箱、密码 2.在应用内admin.py文件完成注册,就可以在后台管理中维护模型的数据 from django.contrib import admin from models im...转载 2019-04-16 22:39:14 · 229 阅读 · 0 评论 -
django-web开发框架-使用Ajax
使用Ajax 使用视图通过上下文向模板中传递数据,需要先加载完成模板的静态页面,再执行模型代码,生成最张的html,返回给浏览器,这个过程将页面与数据集成到了一起,扩展性差 改进方案:通过ajax的方式获取数据,通过dom操作将数据呈现到界面上 推荐使用框架的ajax相关方法,不要使用XMLHttpRequest对象,因为操作麻烦且不容易查错 jquery框架中提供了$.ajax、$.ge...转载 2019-05-07 07:39:01 · 486 阅读 · 0 评论 -
django-web开发框架-上传图片
上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="" />中的name 注意:FILES只有在请求的方法为POST 且提交的<form>带有enctype="multipart/form-data" 的情况下才会包含数据。否则,FILES 将为一个空的类似于...转载 2019-04-14 12:21:54 · 398 阅读 · 0 评论 -
django-web开发框架-分页
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数 属性 count:对象总数 num_pages:页面总数 page_range:页码列表,从1开始,例如[1, 2, 3, 4] 方法 page(num):下标以1开始,如...转载 2019-04-20 10:16:39 · 248 阅读 · 0 评论 -
django-web开发框架-验证码
验证码 在用户注册、登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻一些服务器的压力 使用验证码也是一种有效的防止crsf的方法 验证码效果如下图: 验证码视图 新建viewsUtil.py,定义函数verifycode 此段代码用到了PIL中的Image、ImageDraw、ImageFont模块,需要先安装Pillow(3.4.1)包,详...转载 2019-04-07 13:34:44 · 180 阅读 · 0 评论 -
django-web开发框架-HttpResponse对象
HttpResponse对象 在django.http模块中定义了HttpResponse对象的API HttpRequest对象由Django自动创建,HttpResponse对象由程序员创建 不调用模板,直接返回数据 #coding=utf-8 from django.http import HttpResponse def index(request): return Ht...转载 2019-03-19 07:29:03 · 324 阅读 · 0 评论 -
django-web开发框架简介-01
MVC 大部分开发语言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用 m表示model,主要用于对数据库层的封装 v表示view,用于向用户展示结果 c表示controller,是核心,用于处理请求、获取数据、返回结果 核心思想: 高可扩展性 向后兼容 低耦合,高内聚 MVT Django是一款p...转载 2018-12-26 09:06:11 · 203 阅读 · 0 评论 -
django-web开发框架-后台管理-03
服务器 运行如下命令可以开启服务器 python manage.py runserver ip:port 可以不写ip,默认端口为8000 这是一个纯python编写的轻量级web服务器,仅在开发阶段使用 服务器成功启动后,提示如下信息 默认端口是8000,可以修改端口 python manage.py runserver 8080 打开浏览器,输入网址“127.0.0.1:...转载 2018-12-29 08:47:13 · 437 阅读 · 0 评论 -
django-web开发框架-视图-04
视图 在django中,视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数,包含了请求的信息 视图就是一个Python函数,被定义在views.py中 #coding:utf-8 from django.http import HttpResponse def index(request): return HttpResponse("index") def det...转载 2019-01-04 10:31:53 · 194 阅读 · 0 评论 -
django-web开发框架-模板-05
模板是html页面,可以根据视图中传递的数据填充值 创建模板的目录如下图: 修改settings.py文件,设置TEMPLATES的DIRS值(当前目录下的template目录) 'DIRS': [os.path.join(BASE_DIR, 'templates')], 在模板中访问视图传递的数据 {{输出值,可以是变量,也可以是对象.属性}} {%执行代码段%}...转载 2019-01-06 12:13:36 · 942 阅读 · 1 评论 -
django-web开发框架-ORM简介
ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库 ORM是“对象-关系-映射”的简称,主要任务是: 根据对象的类型生成表结构 将对象、列表的操作,转换为sql语句 将sql查询到的结果转换为对象、列表 这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的...转载 2019-02-03 07:58:47 · 175 阅读 · 0 评论 -
django-web开发框架-定义模型
定义模型 在模型中定义属性,会生成表中的字段 django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会再生成默认的主键列 属性命名限制 不能是python的保留关键字 由于...转载 2019-02-12 10:14:41 · 234 阅读 · 0 评论 -
django-web开发框架-模型成员
类的属性 objects:是Manager类型的对象,用于与数据库进行交互 当定义模型类时没有指定管理器,则Django会为模型类提供一个名为objects的管理器 支持明确指定模型类的管理器 class BookInfo(models.Model): ... books = models.Manager() 当为模型类指定管理器后,django不再为模型类生成名为ob...转载 2019-02-19 07:52:00 · 162 阅读 · 0 评论 -
django-web开发框架-模型查询
简介 查询集表示从数据库中获取的对象集合 查询集可以含有零个、一个或多个过滤器 过滤器基于所给的参数限制查询的结果 从Sql的角度,查询集和select语句等价,过滤器像where和limit子句 接下来主要讨论如下知识点 查询集 字段查询:比较运算符,F对象,Q对象 查询集 在管理器上调用过滤器方法会返回查询集 查询集经过过滤器筛选后返回新的查询集,因此可以写成链式...转载 2019-02-20 18:47:48 · 163 阅读 · 0 评论 -
django-web开发框架-URLconf
视图 视图接受Web请求并且返回Web响应 视图就是一个python函数,被定义在views.py中 响应可以是一张网页的HTML内容,一个重定向,一个404错误等等 响应处理过程如下图: 应用创建流程:test3项目,booktest应用 每个应用的url单独配置,不写在根级里: booktest应用里,新建urls 根目录里配置,指向应用的urls: ...转载 2019-03-10 10:01:28 · 203 阅读 · 0 评论 -
django-web开发框架-视图函数
定义视图 本质就是一个函数 视图的参数 一个HttpRequest实例 通过正则表达式组获取的位置参数 通过正则表达式组获得的关键字参数 在应用目录下默认有views.py文件,一般视图都定义在这个文件中 如果处理功能过多,可以将函数定义到不同的py文件中 新建views1.py #coding:utf-8 from django.http import HttpRespo...转载 2019-03-18 06:30:43 · 177 阅读 · 0 评论 -
django-web开发框架-HttpReqeust对象
HttpReqeust对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象 视图函数的第一个参数是HttpRequest对象 在django.http模块中定义了HttpRequest对象的API 属性 下面除非特别说明,属性都是只读的 path:一个字符串,表示请求的页面的完整路径,不包含域名 method:一个字符串,表示请求使用的HTTP方法,常用值包...转载 2019-03-18 11:02:09 · 135 阅读 · 0 评论 -
django-web开发框架-状态保持session
状态保持 http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 客户端与服务器端的一次通信,就是一次会话 实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 存储方式包括cookie、session,会话一般指session对象 使用cookie,所有数据存储在客户端,注意不要存储敏感信息 推荐使用sesison方式,所有数据存储在服务器端,在客户端cook...转载 2019-03-21 09:12:33 · 258 阅读 · 0 评论 -
django-web开发框架-模板介绍
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用 模板包含 HTML的静态部分 动态插入内容部分 Django模板语言,简写DTL,定义在django.template包中 由...转载 2019-04-01 13:19:34 · 293 阅读 · 0 评论