thumbnail
django中ORM的锁
django中ORM的锁 一、行锁 select_for_update(nowait=False, skip_locked=False) 注意必须用在事务里面,至于如何开启事务,我们看下面的事务一节 Book.objects.select_for_update().filter(nid=3) # 锁住nid=3的行 # 数据库锁机制详见 https…
thumbnail
django中ORM开启事务
django中ORM开启事务 一、全局开启 ATOMIC_REQUESTS设置为True,每个请求过来时,Django会在调用视图方法前开启一个事务。如果请求正确处理并正确返回了结果,Django就会提交该事务,否则,Django会回滚该事务。 DATABASES = { 'default': { 'ENGINE�…
thumbnail
Ajax
Ajax 一、Ajax介绍 1、什么是ajax 简单地讲,ajax就是一种前端技术,用于朝着后端程序发送请求和数据 # 总结下来,前端向后端发送请求的方式无非以下几种,ajax技术便是其中一种 1、浏览器地址栏输入url地址 请求方式默认并且只能是:get请求 2、a标签 请求方式默认并且只能是:get请求 3、form表单 请求方式可以是:get…
thumbnail
常用组件
常用组件 一、分页器组件 class Pagination(object): def __init__(self,current_page,all_count,per_page_num=2,pager_count=11): """ 封装分页相关数据 :param current_page: 当前页 :param all…
thumbnail
中间件
中间件 一、中间件介绍 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额…
thumbnail
Celery
Celery 一、什么是Celery? Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 二、Celery架构 Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。 1、消…
thumbnail
HayStack
HayStack 一、什么是Haystack? Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch,Whoosh, **Xapian搜索引擎它是一个可插拔的后端(很像Django的数据库层),所以几乎你所有写的代码都可以在不同搜索引擎之间便捷…
thumbnail
缓存
缓存 一、缓存介绍 简单概括就是将对数据库操作查询所得到的数据放入另外一台机器上(缓存)中,当用户再次请求时,直接去缓存中拿,避免对数据库的频繁操作,加快数据的显示时间,需要知道的是,缓存里面的数据一般都设置有超时时间,缓存一般用在数据变化不大,实时率不高的情况下。 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时…
thumbnail
信号
信号 一、信号简介 Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。 通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。用于在框架执行操作时解耦。 二、Django内置信号 Model signals p…
thumbnail
批量插入数据
批量插入数据 一、项目需求 浏览器中访问django后端某一条url(如:127.0.0.1:8080/index/),实时朝数据库中生成一千条数据并将生成的数据查询出来,并展示到前端页面 二、我们的常规写法 urls.py from django.conf.urls import url from app01 import views urlpa…
thumbnail
浏览器发展史
浏览器发展史 在本章中,我们要研究的内容为前端的开发。我们在前面的章节中学习到的存贮于服务器端的统称为后端技术,而前端技术是指通过浏览器到用户端计算机的统称。因此,前端的所有知识都和“浏览器”紧密相关,在这一节中,我们将通过介绍浏览器的诞生原因及发展历史来详细地阐述浏览器的本质。 一、单机 单机阶段---》数据积攒了很多,不同人想访问不同计算机上的…
thumbnail
HTML标签
HTML标签 一、HTML简介 用户使用浏览器打开网页看到结果的过程就是:浏览器将服务端的文本文件(即网页文件)内容下载到本地,然后打开显示的过程。 而文本文件的文档结构只有空格和换行两种组织方式,如此,文本文件在打开显示时,显示的效果将会非常非常非常的单一。 为了让显示的效果不那么单调,我们会偏向使用word一类的文本编辑工具来编排文本内容,编排…
thumbnail
CSS选择器,属性设置与网页布局
CSS选择器,属性设置与网页布局 一、CSS介绍 CSS全称Cascading Style Sheet层叠样式表,是专用用来为HTML标签添加样式的。 样式指的是HTML标签的显示效果,比如换行、宽高、颜色等等。 层叠属于CSS的三大特性之一,我们将在后续内容中介绍。 表指的是我们可以将样式统一收集起来写在一个地方或者一个CSS文件里。 在没有CS…
thumbnail
JavaScript
JavaScript 一、JavaScript简介 JavaScript,通常会简称为'JS', 是一种浏览器脚本语言。 1、JavaScript语言的特点 l JavaScript是一种脚本编程语言,是一种解释性语言, l JavaScript的语法结构与C++、java十分类似 l JavaScript是弱类型语言 l JavaScript是事…
thumbnail
jQuery
jQuery 一、 jQuery介绍 什么是Jquery l jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。 l jQuery极大的简化了JavaScript 编程。 二、jQuery的优势 l 开源 免费 l 便捷的选择器 l 方便的DOM操作 l 方便的动画特效 l 易用的ajax操作 l 丰富的插件扩展 l 解决…
thumbnail
BootStrap
BootStrap BootStrap 由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个简洁、直观、强悍的CSS/HTML前端开发框架,让web开发更迅速、简单。 使用BootStrap 可以将它预先下载到电脑上并放入静态文件中,也可以通过直接在HTML文件里导入cdn链接进行使用,cdn链接可以直接使用各种…
thumbnail
项目开发流程
BBS-个人博客项目完整搭建 在这一章中,我们会将前面所有学到的知识进行综合运用,从0开始完成一个django框架的web实战项目——多用户个人博客的搭建。 项目开发流程 在正式开发这个项目之前,首先我们必须了解一套完整的项目开发流程 一、项目分类 现在互联网公司需要开发的主流web项目一般分为两类:面向互联网用户,和公司内部管理。 我们平时在日常…
thumbnail
BBS数据库表结构设计
BBS数据库表结构设计 在我们分析完一个项目的需求之后,我们着手开发项目所需要做的第一件事就是设计数据库的表结构及其字段。 一般来说,设计一个数据库的表结构一般要注意以下三点: 第一,把项目的需求转化为一个个数据库中的表 第二,探寻表与表之间的关联关系 第三,牢记以下原则:能用多对多关联关系就尽量不要用一对多关联关系,能用一对多关联关系就尽量别用一…
thumbnail
注册功能
注册功能 本功能基本需求: -使用forms组件 -使用Ajax提交数据信息 -支持上传头像 拓展需求: -注册时鼠标移开用户名输入框并点击页面其它任何部分时,自动校验输入的用户名是否已存在 一、添加路由 注意点:在路由urls.py中要先导入视图层和一些用到的模块 from django.contrib import admin from dja…
thumbnail
登陆功能
登陆功能 本功能需求: -使用Ajax提交数据信息 -渲染用户名密码不符合要求的错误信息 -登陆后可以实现登出当前账号 拓展需求: -登陆时判断用户是否被冻结 -登陆时使用登陆表单进行验证 一、添加路由 在urls.py中添加 1、登陆路由 path('login/', views.login, name='login…
thumbnail
博客总站点首页布局
博客总站点首页布局 本功能需求: -列出所有文章 -文章旁边可以显示作者头像 -文章旁边可以看到文章的发布时间 -文章旁边可以看到点赞点踩的数量 一、添加路由 1、在urls.py中添加 导入 from django.urls import path, re_path from django.views.static import serve fr…
thumbnail
个人站功能点设计
个人站功能点设计 本功能需求: -左侧使用inclusion_tag对标签和分类进行过滤 -展示个人站点中的文章 拓展需求: -对标签和分类进行的增删改操作 -创建个人站点 一、添加路由 个人站点路由urls.py (此路由一定要放在最后) re_path('^(?P<name>\w+)$', views.site,…
thumbnail
文章详情页面
文章详情页面 本功能需求: -文章详情页展示 -点赞点踩功能(同一用户只能点一次) -评论功能(包含子评论) 拓展功能: -引入md编辑器 一、添加路由 文章详情 urls.py re_path('^(?P<name>\w+)/article/(?P<id>\d+).html$', views.artic…
thumbnail
后台管理
后台管理 本功能需求: -展示登录用户的所有文章 -文章新增(防止xss攻击) -文章新增时支持上传图片 拓展需求: -修改个人信息(包括头像,密码,站点背景) -使用md编辑器上传文章 -文章编辑 -文章删除 一、添加路由 后台管理urls.py path('backend/', views.backend, name=�…
thumbnail
记录日志
记录日志 一、添加路由 查看日志路由 urls.py path('log/', views.log, name='log'), 二、添加视图函数 在views.py中添加视图函数 添加和查看日志log(其中包含分页器) def log(request): log_num = models.Log.object…
thumbnail
第一篇:背景知识
背景知识 一、开篇介绍 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统 二、为什么要有操作系统 现代的计算机系统主要是由一个或者多个处…
thumbnail
第二篇:多进程理论
多进程(理论) 一、什么是进程 进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任务,交女朋友的任务,王者荣耀上分的任务,   但egon同一时刻只能做一个任务(cpu同一时间只能干一个活),如何才能玩出多个任务并发…
thumbnail
第三篇:多进程操作
多进程(实操) 一、multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比…

You cannot copy content of this page