- 博客(12)
- 收藏
- 关注
原创 基于Django实现RBAC权限管理
概述RBAC(Role-Based Access Control,基于角色的访问控制),通过角色绑定权限,然后给用户划分角色。在web应用中,可以将权限理解为url,一个权限对应一个url。在实际应用中,url是依附在菜单下的,比如一个简单的生产企业管理系统,菜单可以大致分为以下几块:制造、资材、生产管理、人事、财务等等。每个菜单下又可以有子菜单,但最终都会指向一个url,点击这个url,通过Dja
2017-09-26 14:03:47 16873 15
原创 saltstack的简单安装和配置
saltstack的简单安装和配置什么是saltstack? SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYA
2017-09-25 19:03:41 414
原创 Django中的Form & ModelForm
在web开发中,处理表单是家常便饭,我们当然可以直接在模板中编写原生的html表单,然后在后端进行表单验证,这常常是一项繁琐的工作。Form我们可以通过Django提供了表单功能,来方便表单的处理。下面看一下如何使用:自定义表单类from django import forms # 导入表单模块from django.core.exceptions import ValidationError
2017-09-25 08:37:27 2922 1
原创 Django,再谈json序列化
我们知道JSON字符串是目前流行的数据交换格式,在pyhton中我们通过json模块,将常用的数据类型转化为json字符串。但是,json支持转化的数据类型是有限的。比如,我们通过ORM从数据库查询出的结果,试图通过json序列化:from .models import UserInfodef index(request): user_list = UserInfo.objects.all(
2017-09-20 19:48:49 6400
原创 Django 信号
Django 信号Django提供一种信号机制,一些动作发生时,会触发信号,然后监听了这个信号的函数就会被执行。比如,实现数据库每写入一条数据,写一条日志。要实现这个需求,可以通过全局的中间件来做,但是利用Django的信号机制会更灵活。中间件只作用在请求进来和响应出去时,而信号的散布范围更广。我们先看看Django内置了哪些信号:Model signalspre_init
2017-09-20 18:56:56 1483
原创 Django 缓存
Django缓存简介为什么要用缓存?我们知道,在Django中,请求到达视图后,视图会从数据库取数据放到模板中进行动态渲染,渲染后的结果就是用户看到的html页面。但是,如果每次请求都从数据库取数据并渲染,将极大降低性能,不仅服务器压力大,而且客户端也无法即时获得响应。如果能将渲染后的结果放到速度更快的缓存中,每次有请求过来,先检查缓存中是否有对应的资源,如果有,直接从缓存中取出来返回响应,节省取数
2017-09-20 16:38:08 2689
原创 Django(二) 路由和视图
路由定义路由是客户端访问的url路径与视图函数间的一一映射关系。Django中的路由关系在urls.py文件中,基本格式如下:urlpatterns = [ url(regex,view, kwargs=None, name=None),]参数说明: regex: 匹配url路径的正则表达式,比如r'^login/', 匹配以login/开头的路径,当你在浏览器地址栏输入http://1
2017-09-20 08:39:02 1345
原创 Cookie & Session
Http协议和Cookie请求和响应Http协议用于客户端与服务端的通信,客户端发出请求,服务端返回响应。下面我们以访问https://www.sogou.com/搜狗首页为例,来看看请求报文和响应报文: 下面是从客户端访问服务器的请求报文的截取内容:GET / HTTP/1.1Host: www.sogou.comConnection: keep-aliveCache-
2017-09-19 17:03:54 742
原创 git 命令总结
git, 流行的分布式版本控制工具,全平台支持。在windows下,打开git bash窗口,我们就可以像在linux终端中一样,方便的输入命令。git结构git分为工作区和版本库;工作区包括未修改和已修改(red) ;版本库包括暂存(green)和分支 图片来源于 武Sir初始化git init 在当前目录初始化gitgit add /./* 添加文件/当前目录所有文件到暂存区git
2017-09-19 14:58:15 549
原创 django中的CSRF
CSRF,跨站请求伪造,是django内置的一个中间件安全机制,相信大家都碰到过因为它而导致POST请求报错的情况,最简单的解决方案是在form中加入 csrf_token:<form action="" method="post"> {% csrf_token %} <input type="text" name="name"> ......</form>那么对于ajax
2017-09-18 20:04:12 531
原创 Django(五)中间件
一次请求的生命周期我们先看客户端发起一次http请求的流程 注:django框架不包括socket, 要借助图中的两个模块来实现socket,进行客户端和服务端通信。wsgi性能较弱,一般测试开发用;企业中用uwsgi,性能强,并发好。中间件从图上可知,请求在到达视图之前,会依次执行中间件,视图返回的响应,依次倒序执行中间件。 中间件的本质是一个个的类,类中定义了一些方法。在django项目
2017-09-18 13:35:46 1272
原创 AJAX异步请求
准备知识在学习AJAX前,我们先了解一下JSON和XMLJSON定义 JSON(JavaScript Object Notation, JS对象标记),是一种轻量级的数据交换格式。 它基于 ECMAScript (w3c制定的JS规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同
2017-09-13 11:14:28 153165 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人