python学习之第十四天再补充

自定义template tags

中间件

CRSF

权限管理

分页

Django分页

https://docs.djangoproject.com/en/1.9/topics/pagination/

自定义template tags

https://docs.djangoproject.com/es/1.9/howto/custom-template-tags/

权限管理

django 自带有基本的权限管理 ,但粒度和限制权限的维度都只是针对具体的表,如果我们想根据业务功能来限制权限,那就得自己写了, 不过也不用完全自己的写,我们可以在django 自带的权限基础上轻松的实现扩展。

自己写权限要注意:

  1. 权限系统的设计对开发者、用户要实现透明,即他们不需要改变自己原有的使用系统或调用接口的方式
  2. 权限要易扩展,灵活
  3. 权限要能实现非常小的粒度的控制,甚至细致到一个按键某个用户是否能按。

想对一个功能实现权限控制,要做到只能过在views方法上加一个装饰器就行了,比如:

+

check_permission的代码实现

 50行实现细粒度的权限控制

  

Middleware中间件

https://docs.djangoproject.com/es/1.9/topics/http/middleware/#process_request

分类: Python自动化开发之路

时间: 2024-08-26 15:42:09

python学习之第十四天再补充的相关文章

python学习笔记-(十四)进程&协程

一. 进程 1. 多进程multiprocessing multiprocessing包是Python中的多进程管理包,是一个跨平台版本的多进程模块.与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程.该进程可以运行在Python程序内部编写的函数.该Process对象与Thread对象的用法类似. 创建一个Process实例,可用start()方法启动. join()方法可以等待子进程结束后再继续往下运行,通常用于进程间的同步.

python学习之第十四天补充

本节内容 学员管理系统练习 Django ORM操作进阶 用户认证 Django练习小项目:学员管理系统设计开发 带着项目需求学习是最有趣和效率最高的,今天就来基于下面的需求来继续学习Django 项目需求: 1.分讲师\学员\课程顾问角色,2.学员可以属于多个班级,学员成绩按课程分别统计3.每个班级至少包含一个或多个讲师4.一个学员要有状态转化的过程 ,比如未报名前,报名后,毕业老学员5.客户要有咨询纪录, 后续的定期跟踪纪录也要保存6.每个学员的所有上课出勤情况\学习成绩都要保存7.学校可以

Python学习笔记(十四)

一.序列化与反序列化 Python 中的 pickle模块提供了一种序列化对象的方法 import pickle class Student(object): def __init__(self,name,age,school="新华") self.__name = name self.__age = age self.__school = school def get_dict(slef): return { "name":self.__name, "a

Python学习笔记(十四)安装第三方模块

摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143186362353505516c5d4e38456fb225c18cc5b54ffb000 本文章完全用来个人复习使用,侵删: 在Python中,安装第三方模块,是通过包管理工具pip完成的. 在命令提示符窗口下尝试运行pip,如果Windows提示未找到命令,可以重新运行安装程序添加pip. 注意:Mac或Lin

Python 学习笔记(十四)Python类(三)

完善类的内容 示例: 1 #! /usr/bin/env python 2 # coding =utf-8 3 4 #通常类名首字母大写 5 class Person(object): 6 7 """ 8 This is about a person #类文档 9 """ 10 11 def __init__(self,name,lang="python"):#初始化函数,类被实例化的时候,要执行 12 self.name =

python学习(二十四)开发接口

模拟一些接口,在接口没有开发成功前,可以用它来测试 用来查询数据 1.第一个接口 import flask,json #__name__,代表当前这个python文件 server=flask.Flask(__name__) #把这个python文件,当做一个服务 #ip:8000/index?uge @server.route('/index',methods=['get','post']) #可以只写一个,那就只支持那一个 def index(): res={'msg':'这是开发的第一个接

python学习第五十四天:作用域对象与运用技巧

1. JS作用域 1.1 全局作用域和局部作用域 函数外面声明的就是 全局作用域 函数内是局部作用域 全局变量可以直接在函数内修改和使用 变量,使用var是声明,没有var是使用变量. 如果在函数内使用var来声明变量,在函数内会覆盖同名的全局变量 1.2 变量提升 在变量声明之前 去使用变量 会得到 undefined ,而不是报错 函数内,如果声明了跟全局变量同名的局部变量, 在声明之前使用改变量,得到undefined( 该变量已经是局部的啦) 1.3 作用域链 当一个作用域 使用某个变量

python学习第七十四天:单表查询

单表查询 创建表 创建模型 在models.py中定义类,一个类就是一张表 from django.db import models class Book(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=64) pub_data = models.DateField() price = models.DecimalField(max_digits=5, decima

Python学习日记(三十四) Mysql数据库篇 二

外键(Foreign Key) 如果今天有一张表上面有很多职务的信息 我们可以通过使用外键的方式去将两张表产生关联 这样的好处能够节省空间,比方说你今天的职务名称很长,在一张表中就要重复的去写这个职务的名字,很浪费空间;除此之外也能起到一个约束的作用. 像department就是外键. 执行代码: create table t1( uid bigint auto_increment primary key, name varchar(32), department_id int, gender