标签: django

23 篇文章

thumbnail
初识数据库
初识数据库 一、数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上。 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。 很不幸,这些假设都是你自己想象出来的,上述假设存在以下几个问题 1、程序所有的组件就…
thumbnail
库相关操作
库相关操作 一、系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等 performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象 mysql: 授权库,主要…
thumbnail
表相关操作
表相关操作 一、存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 1、什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表…
thumbnail
记录相关操作
记录相关操作 一、介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SEL…
thumbnail
视图,触发器与存储过程
视图,触发器与存储过程 一、视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率…
thumbnail
流程控制
流程控制 一、条件语句 if条件语句 delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = 1 THEN SELECT 1; ELSEIF i = 2 THEN SELECT 2; ELSE SELECT 7; END IF; END // de…
thumbnail
索引
很多人会有一个误区,在一个软件开发完之后,等到发现这个软件运行地较慢时,才去添加索引,这就是一个错误的观点。因为如果当一个软件上线之后,发现运行速度很慢,这种“慢”可能并不是绝对意义上的很长时间,但即使某一条SQL语句只卡顿2~3秒,也会严重影响用户的体验。一旦这个问题出现以后,如果你再去“亡羊补牢”,就会发现并不一定是数据库结构带来的问题,当你将…
thumbnail
事务
事务 一、什么是事务? 事务是MySQL的一种机制,每开启一个事务,都可以往里放入一系列的SQL语句。 事务是单个逻辑工作单位执行的一系列操作,要么全执行,要么全不执行,每开一个事务,相当于给数据库拍了一张快照,这意味着在提交之前可以回滚,在事务中可以设置多个保存点,然后可以进行回滚到每个保存点 我们默认为每条sql开启事务,并且会在本条sql执行…
thumbnail
读现象与事务隔离机制
读现象与事务隔离机制 一、数据库读现象 读现象在本质上来说,是数据库在高并发场景下,多个同时执行的事务带来的影响。 数据库主要有三大常见的读现象: *脏读*:事务1和事务2并发执行,事务1改了数据,事务2读取了以后,但事务1进行了回滚,导致事务2读取的数据有误。 *不可重复读*:事务1读取了数据,事务2修改了数据并且提交了,接着事务1再次读取,发现…
thumbnail
锁机制
锁机制 一、什么是锁机制,为什么要用锁机制 我们可以通过一个很简单的比喻来理解事务的锁机制。比如同一个办公室的同事们,都想使用打印机打印文件,如果不加以控制,可能出现两个人同时打印不同的内容在一个文件里,就会引起内容混乱。于是,我们就引入了锁的概念,当有并发的多个事务同时操作同一份数据时,只有“抢到”了锁的事务,才能真正去操作数据,使得数据的安全性…
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
项目开发流程
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…

You cannot copy content of this page