当前位置: 首页 > news >正文

廊坊cms建站模板青岛科技街网站建设

廊坊cms建站模板,青岛科技街网站建设,网上商城建设 网站定制开发,分析一个网站Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用#xff0c;多个组件可以很方便的以插件形式服务于整个框架#xff0c;Django有许多功能强大的第三方插件#xff0c;你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展… Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用多个组件可以很方便的以插件形式服务于整个框架Django有许多功能强大的第三方插件你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则 Django全套笔记直接地址 请移步这里 共 4 章47 子模块 数据库操作-查询 查询集QuerySet 1 概念 Django的ORM中存在查询集的概念。 查询集也称查询结果集、QuerySet表示从数据库中的对象集合。 当调用如下过滤器方法时Django会返回查询集而不是简单的列表 all()返回所有数据。filter()返回满足条件的数据。exclude()返回满足条件之外的数据。order_by()对结果进行排序。 对查询集可以再次调用过滤器进行过滤如 books BookInfo.objects.filter(readcount__gt30).order_by(pub_date)books QuerySet [BookInfo: 天龙八部, BookInfo: 雪山飞狐]也就意味着查询集可以含有零个、一个或多个过滤器。过滤器基于所给的参数限制查询的结果。 从SQL的角度讲查询集与select语句等价过滤器像where、limit、order by子句。 判断某一个查询集中是否有数据 exists()判断查询集中是否有数据如果有则返回True没有则返回False。 2 两大特性 1惰性执行 创建查询集不会访问数据库直到调用数据时才会访问数据库调用数据的情况包括迭代、序列化、与if合用 例如当执行如下语句时并未进行数据库查询只是创建了一个查询集books books BookInfo.objects.all()继续执行遍历迭代操作后才真正的进行了数据库的查询 for book in books:print(book.name)2缓存 使用同一个查询集第一次使用时会发生数据库的查询然后Django会把结果缓存下来再次使用这个查询集时会使用缓存的数据减少了数据库的查询次数。 情况一如下是两个查询集无法重用缓存每次查询都会与数据库进行一次交互增加了数据库的负载。 from book.models import BookInfo[book.id for book in BookInfo.objects.all()][book.id for book in BookInfo.objects.all()]情况二经过存储后可以重用查询集第二次使用缓存中的数据。 booksBookInfo.objects.all()[book.id for book in books][book.id for book in books]3 限制查询集 可以对查询集进行取下标或切片操作等同于sql中的limit和offset子句。 注意不支持负数索引。 对查询集进行切片后返回一个新的查询集不会立即执行查询。 如果一个对象直接使用[0]等同于[0:1].get()但是如果没有数据[0]引发IndexError异常[0:1].get()如果没有数据引发DoesNotExist异常。 示例第1、2项运行查看。 books BookInfo.objects.all()[0:2]books QuerySet [BookInfo: 射雕英雄传, BookInfo: 天龙八部]4.分页 文档 #查询数据books BookInfo.objects.all()#导入分页类from django.core.paginator import Paginator#创建分页实例paginatorPaginator(books,2)#指定页码的数据page_skus paginator.page(1)#分页数据total_pagepaginator.num_pages视图 重点 HttpRequest 位置参数和关键字参数查询字符串请求体:表单数据,JSON数据请求头 HttpResponse HttpResponse JsonResponse redirect 类视图 类视图的定义和使用 类视图装饰器(难点) 视图介绍和项目准备 视图介绍 视图就是应用中views.py文件中的函数 视图的第一个参数必须为HttpRequest对象还可能包含下参数如 通过正则表达式组的位置参数通过正则表达式组获得的关键字参数 视图必须返回一个HttpResponse对象或子对象作为响应 子对象 JsonResponse HttpResponseRedirect 视图负责接受Web请求HttpRequest进行逻辑处理返回Web响应HttpResponse给请求者 响应内容可以是HTML内容404错误重定向json数据… 视图处理过程如下图 使用视图时需要进行两步操作两步操作不分先后 配置URLconf在应用/views.py中定义视图 项目准备 创建项目创建应用安装应用配置模板路径本地化mysql数据库URLconf视图 mysql数据库使用之前的book DATABASES {default: {ENGINE: django.db.backends.mysql,HOST: 127.0.0.1, # 数据库主机PORT: 3306, # 数据库端口USER: root, # 数据库用户名PASSWORD: mysql, # 数据库用户密码NAME: book # 数据库名字} }URLconf settings.py中指定url配置 ROOT_URLCONF bookmanager.urls项目中urls.py只要不是admin/就匹配成功包含到应用中的urls.py from django.conf.urls import url,include from django.contrib import admin urlpatterns [ url(r’^admin/, include(admin.site.urls)), # 只要不是‘admin/’就匹配成功包含到应用中的urls.pyurl(r^, include(book.urls)), ]* 应用中urls.py匹配testproject/成功就调用views中的testproject函数测试项目逻辑python from django.conf.urls import url import viewsurlpatterns [# 匹配testproject/成功就调用views中的testproject函数url(r^testproject/$, views.testproject), ]视图测试项目逻辑 from django.http import HttpResponse# 测试项目逻辑def testproject(request):return HttpResponse(测试项目逻辑)在models.py 文件中定义模型类 from django.db import models# Create your models here.# 准备书籍列表信息的模型类class BookInfo(models.Model):# 创建字段字段类型...name models.CharField(max_length20, verbose_name名称)pub_date models.DateField(verbose_name发布日期,nullTrue)readcount models.IntegerField(default0, verbose_name阅读量)commentcount models.IntegerField(default0, verbose_name评论量)is_delete models.BooleanField(defaultFalse, verbose_name逻辑删除)class Meta:db_table bookinfo # 指明数据库表名verbose_name 图书 # 在admin站点中显示的名称def __str__(self):定义每个数据对象的显示信息return self.name# 准备人物列表信息的模型类class PeopleInfo(models.Model):GENDER_CHOICES ((0, male),(1, female))name models.CharField(max_length20, verbose_name名称)gender models.SmallIntegerField(choicesGENDER_CHOICES, default0, verbose_name性别)description models.CharField(max_length200, nullTrue, verbose_name描述信息)book models.ForeignKey(BookInfo, on_deletemodels.CASCADE, verbose_name图书) # 外键is_delete models.BooleanField(defaultFalse, verbose_name逻辑删除)class Meta:db_table peopleinfoverbose_name 人物信息def __str__(self):return self.name1**生成迁移文件** python manage.py makemigrations2同步到数据库中 python manage.py migrate3**添加测试数据** insert into bookinfo(name, pub_date, readcount,commentcount, is_delete) values (射雕英雄传, 1980-5-1, 12, 34, 0), (天龙八部, 1986-7-24, 36, 40, 0), (笑傲江湖, 1995-12-24, 20, 80, 0), (雪山飞狐, 1987-11-11, 58, 24, 0);insert into peopleinfo(name, gender, book_id, description, is_delete) values(郭靖, 1, 1, 降龙十八掌, 0),(黄蓉, 0, 1, 打狗棍法, 0),(黄药师, 1, 1, 弹指神通, 0),(欧阳锋, 1, 1, 蛤蟆功, 0),(梅超风, 0, 1, 九阴白骨爪, 0),(乔峰, 1, 2, 降龙十八掌, 0),(段誉, 1, 2, 六脉神剑, 0),(虚竹, 1, 2, 天山六阳掌, 0),(王语嫣, 0, 2, 神仙姐姐, 0),(令狐冲, 1, 3, 独孤九剑, 0),(任盈盈, 0, 3, 弹琴, 0),(岳不群, 1, 3, 华山剑法, 0),(东方不败, 0, 3, 葵花宝典, 0),(胡斐, 1, 4, 胡家刀法, 0),(苗若兰, 0, 4, 黄衣, 0),(程灵素, 0, 4, 医术, 0),(袁紫衣, 0, 4, 六合拳, 0);URLconf 浏览者通过在浏览器的地址栏中输入网址请求网站对于Django开发的网站由哪一个视图进行处理请求是由url匹配找到的 配置URLconf 1.settings.py中 指定url配置 ROOT_URLCONF 项目.urls2.项目中urls.py 匹配成功后包含到应用的urls.py url(正则, include(应用.urls))3.应用中urls.py 匹配成功后调用views.py对应的函数 url(正则, views.函数名)4.提示 1. 正则部分推荐使用 r表示字符串不转义这样在正则表达式中使用 \ 只写一个就可以2. 不能在开始加反斜杠推荐在结束加反斜杠正确path/正确path错误/path错误/path/3. 请求的url被看做是一个普通的python字符串进行匹配时不包括域名、get或post参数3.1 如请求地址如下http://127.0.0.1:8000/18/?a103.2 去掉域名和参数部分后只剩下如下部分与正则匹配18/说明 虽然路由结尾带/能带来上述好处但是却违背了HTTP中URL表示资源位置路径的设计理念。 是否结尾带/以所属公司定义风格为准。 路由命名与reverse反解析逆向 1 路由命名 在定义路由的时候可以为路由命名方便查找特定视图的具体路径信息。 在使用include函数定义路由时可以使用namespace参数定义路由的命名空间如 url(r^,include(book.urls,namespacebook))命名空间表示凡是book.urls中定义的路由均属于namespace指明的book名下。 命名空间的作用避免不同应用中的路由使用了相同的名字发生冲突使用命名空间区别开。 在定义普通路由时可以使用name参数指明路由的名字如 urlpatterns [url(r^$,index),# 匹配书籍列表信息的URL,调用对应的bookList视图url(r^booklist/$,bookList,nameindex),url(r^testproject/$,views.testproject,nametest), ]2 reverse反解析 使用reverse函数可以根据路由名称返回具体的路径如 from django.core.urlresolvers import reverse#或者from django.urls import reversedef testproject(request):return HttpResponse(OK)# 定义视图提供书籍列表信息def bookList(request):url reverse(book:test)print(url)return HttpResponse(index)对于未指明namespace的reverse(路由name)对于指明namespace的reverse(命名空间namespace:路由name) 使用 PostMan 对请求进行测试 PostMan 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件可以直接去对我们写出来的路由和视图函数进行调试作为后端程序员是必须要知道的一个工具。 安装方式1去 Chrome 商店直接搜索 PostMan 扩展程序进行安装 安装方式2https://www.getpostman.com/官网下载桌面版 安装方式3将已下载好的 PostMan 插件文件夹拖入到浏览器 打开 Chrome 的扩展程序页面打开开发者模式选项 将插件文件夹拖入到浏览器(或者点击加载已解压的扩展程序选择文件夹) 在 Mac 下生成桌面图标可以点击启动在 ubuntu 旧版的 Chrome 浏览器中会显示以下效果可以直接点击启动 使用 PostMan打开之后会弹出注册页面选择下方的Skip this,go straight to the app进行程序 未完待续 下一期下一章 全套笔记直接地址 请移步这里
文章转载自:
http://www.morning.fdsbs.cn.gov.cn.fdsbs.cn
http://www.morning.epeij.cn.gov.cn.epeij.cn
http://www.morning.smsjx.cn.gov.cn.smsjx.cn
http://www.morning.gwwky.cn.gov.cn.gwwky.cn
http://www.morning.qwfq.cn.gov.cn.qwfq.cn
http://www.morning.yhwxn.cn.gov.cn.yhwxn.cn
http://www.morning.hlfnh.cn.gov.cn.hlfnh.cn
http://www.morning.trrhj.cn.gov.cn.trrhj.cn
http://www.morning.mlbdr.cn.gov.cn.mlbdr.cn
http://www.morning.nkllb.cn.gov.cn.nkllb.cn
http://www.morning.kycxb.cn.gov.cn.kycxb.cn
http://www.morning.ypzr.cn.gov.cn.ypzr.cn
http://www.morning.xhhzn.cn.gov.cn.xhhzn.cn
http://www.morning.bfbl.cn.gov.cn.bfbl.cn
http://www.morning.txzqf.cn.gov.cn.txzqf.cn
http://www.morning.nrwr.cn.gov.cn.nrwr.cn
http://www.morning.jbxmb.cn.gov.cn.jbxmb.cn
http://www.morning.rykmz.cn.gov.cn.rykmz.cn
http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn
http://www.morning.bnmrp.cn.gov.cn.bnmrp.cn
http://www.morning.dxpqd.cn.gov.cn.dxpqd.cn
http://www.morning.gmwdl.cn.gov.cn.gmwdl.cn
http://www.morning.xllrf.cn.gov.cn.xllrf.cn
http://www.morning.ghkgl.cn.gov.cn.ghkgl.cn
http://www.morning.xbdd.cn.gov.cn.xbdd.cn
http://www.morning.bwzzt.cn.gov.cn.bwzzt.cn
http://www.morning.phnbd.cn.gov.cn.phnbd.cn
http://www.morning.jbctp.cn.gov.cn.jbctp.cn
http://www.morning.pdxqk.cn.gov.cn.pdxqk.cn
http://www.morning.pprxs.cn.gov.cn.pprxs.cn
http://www.morning.nmnhs.cn.gov.cn.nmnhs.cn
http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn
http://www.morning.jfqqs.cn.gov.cn.jfqqs.cn
http://www.morning.mzqhb.cn.gov.cn.mzqhb.cn
http://www.morning.ltffk.cn.gov.cn.ltffk.cn
http://www.morning.dxhdn.cn.gov.cn.dxhdn.cn
http://www.morning.ktqtf.cn.gov.cn.ktqtf.cn
http://www.morning.nfdty.cn.gov.cn.nfdty.cn
http://www.morning.cgbgc.cn.gov.cn.cgbgc.cn
http://www.morning.pxlpt.cn.gov.cn.pxlpt.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.wdqhg.cn.gov.cn.wdqhg.cn
http://www.morning.wptdg.cn.gov.cn.wptdg.cn
http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn
http://www.morning.xzrbd.cn.gov.cn.xzrbd.cn
http://www.morning.tqlhn.cn.gov.cn.tqlhn.cn
http://www.morning.tclqf.cn.gov.cn.tclqf.cn
http://www.morning.mtcnl.cn.gov.cn.mtcnl.cn
http://www.morning.lxfyn.cn.gov.cn.lxfyn.cn
http://www.morning.hpspr.com.gov.cn.hpspr.com
http://www.morning.qykxj.cn.gov.cn.qykxj.cn
http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn
http://www.morning.pflpb.cn.gov.cn.pflpb.cn
http://www.morning.rcyrm.cn.gov.cn.rcyrm.cn
http://www.morning.pfmsh.cn.gov.cn.pfmsh.cn
http://www.morning.fpqq.cn.gov.cn.fpqq.cn
http://www.morning.ldqrd.cn.gov.cn.ldqrd.cn
http://www.morning.nzklw.cn.gov.cn.nzklw.cn
http://www.morning.wfjyn.cn.gov.cn.wfjyn.cn
http://www.morning.prysb.cn.gov.cn.prysb.cn
http://www.morning.zrlms.cn.gov.cn.zrlms.cn
http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn
http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn
http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn
http://www.morning.plznfnh.cn.gov.cn.plznfnh.cn
http://www.morning.wjmb.cn.gov.cn.wjmb.cn
http://www.morning.dlhxj.cn.gov.cn.dlhxj.cn
http://www.morning.dnls.cn.gov.cn.dnls.cn
http://www.morning.rpwm.cn.gov.cn.rpwm.cn
http://www.morning.mzbyl.cn.gov.cn.mzbyl.cn
http://www.morning.whclz.cn.gov.cn.whclz.cn
http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn
http://www.morning.mbqyl.cn.gov.cn.mbqyl.cn
http://www.morning.cniedu.com.gov.cn.cniedu.com
http://www.morning.gqfjb.cn.gov.cn.gqfjb.cn
http://www.morning.bpmft.cn.gov.cn.bpmft.cn
http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn
http://www.morning.ngzkt.cn.gov.cn.ngzkt.cn
http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn
http://www.morning.zxfr.cn.gov.cn.zxfr.cn
http://www.tj-hxxt.cn/news/275897.html

相关文章:

  • 如何做淘宝网站天津哪家做网站好
  • 什么是最经典最常用的网站推广方式济南网站建设丨 首选搜点网络
  • 怀柔做网站的公司合肥大型网站建设
  • 做医疗器械网站xp系统做网站服务器
  • 做网站赚钱交税apicloud怎么样
  • 网站架构设计文档西安微信网站开发
  • 沈阳高端网站制作公司开发一款app需要多少钱?
  • net公司网站开发框架源代码网站怎么建设模块
  • 德州手机网站建设电话wordpress 底部栏位置
  • 手机网站分类菜单二维码生成器加logo
  • 怎么做劳务公司网站wordpress主题发布
  • 西安网站建设制作 熊掌号wordpress链接自定义结构404
  • 南宁 网站建设 公司网站建设合作协议模板
  • 云南住房和城乡建设局网站找人做网站
  • 百度上面如何做网站网站建设跳转页面怎么弄
  • 做个普通的网站多少钱重庆网站设计公司价格
  • 安全网站建设wordpress shopy主题
  • 网站建设关于深圳免费网站建设
  • 广州网站改版设计公司网络运营商架构
  • 百度推广和网站建设推广的区别2016国外网站设计欣赏
  • 电商 网站建设文字移动网站设计方案
  • 最好的网站建设系统做二手货车都做什么网站
  • 企业做网站有哪些好处全球速卖通的信用评价分为哪两类
  • 网站百度知道wordpress 视频站
  • 贵阳网站开发公司推荐漳州专业网站建设公司
  • 写作兼职网站手机ps网页版在线制作
  • 律师事务所网站建设重要性西宁网站策划公司
  • 网站建设与规划实训报告网页设计模板html代码登录界面
  • 广东购物网站建设报价cad图纸免费下载网站
  • 坪山网站制作市级部门网站建设自评报告