Eckid考勤机

Work in the dark to serve the light

Python中__all__的作用

在使用Python来定义module和包的时候,都需要考虑模块被使用时,会导入的模块属性。 用from module import *来导入的情况下 首先,这绝非一个导入模块的好方法,最好不要这样使用。而且这种情况下会导入哪些文件取决于操作系统的文件系统。 在PEP8中建议使用__all__机制防止导入全局变量。我们可以在__init__.py中使用__all__变量指定这种情况下自动...

Django REST framework 教程6 ViewSets & Routers

Tutorial 6: ViewSets & Routers REST framework 的 ViewSets类帮助我们专注于设计API的状态和交互,并且自动的处理URL 的结构。ViewSet 类和 View 类的差别仅在于它提供了 read或update方法,替代了原来的 get 或 put方法。 ViewSet 类最终只是关联了一系列方法,在实例化之后需要用 Router ...

Django REST framework 教程5 关联性与 Hyperlinked APIs

Tutorial 5: 关联性与 Hyperlinked APIs 现在为止API的关系是用主键表示的,本篇中我们将用超链接来提高API的关联性与可预测性。 API的根路径 现在有路径’snippets’ 和’users’, 但是还没有API的根路径,可以用 @api_view 装饰器来创建一个。在snippets/views.py 中: from rest_framework.de...

Django REST framework 教程4 认证与权限

Tutorial 4: 认证与权限 目前的 API 没有对编辑或删除snippets的操作进行权限控制,为了实现这个功能我们需要一些更高级的机制。 Code snippets必须有创建者. 只有认证用户才能创建snippets. 只有snippet的创建者才能修改或删除它 未授权的request只能查看 给model增加field 现在要修改 Snippet mo...

Django REST framework 教程3 Class Based Views

API views也可以使用class based views来编写,而不是function based views。你会发现这是一种很有效的模式,能够让我们复用代码,保持代码DRY。 使用class based views重写 API 我们先来把root视图转换为class based view。在 views.py中进行一些重构: from snippets.models impo...

Django REST framework 教程2 Requests and Responses

Tutorial 2: Requests and Responses 从本节开始我们将真正介绍REST framework的核心部分,先介绍一些最重要的部件。 Request 对象 REST framework 提供了 Request 对象,它是 HttpRequest的扩展,提供了更灵活地 request解析方式。 Request 对象的核心是  request.data 属性, 这...

Django REST framework 教程1 Serialization

Tutorial 1: Serialization 介绍 本教程将会开发一个简单的pastbin代码高亮API,整个过程会用到构成REST framework的各个components,完成后你将会理解框架中各部分共同运作的机制。 本教程的内容十分深入,所以你最好打起精神来阅读。如果你只想快速浏览一下REST Framework的用法,那么你可以去阅读 quickstart 文档。 提...

Django REST framework quickstart

Quickstart 译于官方Quickstart 我们在这里实现一个简单的API,为admin用户创建一个user和groups的编辑界面。 Project setup 创建一个名为 tutorial的Django项目,然后创建一个app命名为 quickstart # Create the project directory mkdir tutorial cd tutoria...

Django REST framework 介绍

Django REST framework 是一个用于构建Web APIs的有效工具。 准备工作 REST framework 必需依赖以下工具: Python (2.7, 3.2, 3.3, 3.4, 3.5) Django (1.7+, 1.8, 1.9) 下列packages可根据自己的需求使用: Markdown (2.1.0+) - Markdown...

Django csrf

Django csrf Django中可以将 csrf_token 模板和CsrfViewMiddleware中间件结合使用,来实现csrf攻击的防御功能。 文档 https://docs.djangoproject.com/en/dev/ref/csrf/ 实现机制 在页面view渲染的过程中,会将视图form中 csrf_token 标签转换为一个隐藏的表单项,其中携带了服务器端生...