django和django rest框架的一体化框架
common-framework的Python项目详细描述
common framework
Django周围共同开发工具箱(https http://www.djangoproject.com/)和 Django Rest Framework(A HREF="http://www.django-rest-framework.org/" rel="nofollow");http://www.django-rest-framework.org/。
django
实体
一个实体是一个超级Django模型,提供大量的新功能,如历史化
数据、逆转、元数据、串行化和数据表示
字典。
要使用这些功能,必须继承每个模型的<代码>common.models.entity谁
自己继承Django.db.models.model
。
ααα1
实体模型设定以下默认字段:
-
创建日期:实体成立日期
modification
date:late modification of the substance
当前用户:创作/修改的最后用户uuid
:实体独特标识符
唯一的标识符可以从数据库中找到任何实体,因为每个实体都是 注册在一个全球工具箱中,与它的类型。因此,可以恢复这样的实体:
ααα2小心!B.实体对Django缺省持久性方法的负担过重 (save(
),code>create(
),code>delete(在没有历史化或全球参考资料的情况下,可以提供一个简化的实体版本,那么就足够了 代替
common.models.commodel
代替commodels.entity
。易腐实体
一个易腐实体有一段时间的有效期,具有与该实体相同的功能 但是,它有一个起始日期(
start \ \ date
)和一个潜在的终止日期(end \ \ date
)。为了定义一个易腐实体,只需传承
common.models.perishableentity
模型即可。 从common.models.entity
.除了易腐实体的历史化之外,没有简单的替代办法。当数据库中的现有易腐实体被保存时,执行以下机制:
- 如果提供了终止日期,则修改和关闭当前实体
。- 未提供截止日期,当前的实体在该截止日期结束,另一个实体在作出修改后将: 创建日期为最新起始日期,而没有编程结束日期
如果日期,则易腐实体相对于给定日期执行数据恢复功能 没有提供查询书,就无法收回所有按当前日期和时间有效的实体。 ααα3
Administration
为了确保管理接口中的组织化功能,有必要做 继承
common.admin.entityadmin
的管理阶层,该管理阶层允许以下功能:
- 自动管理连接到修改的用户
- 自动显示创建和修改日期,并提供搜索过滤器
- 管理显示权限
- 显示实体的元数据
对于易腐实体,应使用
common.admin.perishableentityadmin
代替common.admin.entityadmin
因利族NES:还提供实体的对等物项:common.admin.entitytabularinline
和common.admin.entitystackedinline
。为
common.models.commodel
提供了一个简化的版本,即common.admin.common admin
可执行 历史之外的所有功能。历史化
检测和记录实体模型数据中的任何变化, 这样就可以通过使用来跟踪修改,并且可以返回到先前的状态。 实体的实体或特定领域。
每次修改都保存一个实体历史(
common.models.history
)并保存一个单元 在历史文献(common.models.historyfield
)中修改的字段,只有在修改时才使用。ααα4
- 多种类型的关系在历史上被分开处理。
- 如果Celery已经安装(A HREF="http://www.celeryproject.org/" rel="nofollow">http://www.celeryproject.org/修改的使用者保留在历史记录中。
- 可以通过代码向历史记录添加信息和/或修改用户。
在实体历史或字段历史上,可能会要求恢复 使用"Restore"(代码)("/ 还有一个用户和一个信息消息。
复原本身会产生一个特定的历史记录,以便在必要时能够返回。 ααα5
元数据
元数据允许将第三方数据添加到实体上,这些数据的结构可以如下: 用户愿意这样做,并将以JSON的形式储存在数据库中。每个实体都有 访问实体元数据的方法。
元数据存储的数据可以是任何类型的蟒蛇,条件是该蟒蛇这样做。 它可能包含的任何数据都是可编辑的(List,dict,int,float等)。 αααα6
实体元数据可直接用于查询,即使不建议用于查询。 业绩原因(视数据数量而定)。 它们以Django
common.models.metadata
为形式。 αααα7串行化
每个实体或实体的查询可以使用该方法进行串行化
Serialize(format=json)
in one format:αααα8 αααα9 字典表演
- json
- xml
- yaml
查询或实体可以用蟒蛇字典代替,该字典采用
to
的方法。 αααα10
to
to dict(code)实体类型 从专业翻译人员、公司、网页及可自由查看的翻译库中学习。 简单地在每个实体上以高效和独特的方式回收这个类型。 ααααwebhooks
Webhook是一个HTTP Calback,它根据一个动作向外部服务器发送数据 应用程序完成接收器必须能够理解所发送的消息。 可配置响应于一个或多个实体上的一个或多个动作的webhook。
所涵盖的行动是:
创作
Webhook可以被配置为使用验证如果需要,请在外部服务器上查询。- 修改
- 删除
- many-to-many类型的关系
默认情况下,Webhook将使用
方法对所涉实例执行
方法,并设定以下参数: 但可以通过定义一种方法来改变这种行为 模型级别。Webhook的更改通知被默认禁用,并可通过
notify=changes
激活。 服务使用使用服务可以计算一个URL在同一应用程序中被召唤的次数 用户甚至限制使用次数。
功能被默认禁用,并可通过
service \ \ use
激活。 还需要在middleware>classes
中中加入common.middleware.serviceusagemiddleware
。用户元数据和群组
以与实体相同的方式,用户和团体可以保留 然而,以元数据形式提供的上下文信息的功能不同,因为这些模型可能是 在发展中被取代。
在这种情况下,这是一种有系统地存在于新用户创建中的one-to-one关系,或 一个新的组,具有JSON字段来容纳这些数据。
实用性
许多功能、装潢师和实用类的开发商可以加速 创建新的功能。这些功能被集合在common.utiles
中。 关于Django和common.api.utiles
中有关Django Rest Framework的一切事宜。编程:将一个班变成一个单词的装潢师
get uu current \ \ app
:允许在Celery没有安装的情况下恢复Celery应用程序或MOCKparsedate
:允许以任何格式评估日期timet
:用于计算功能运行时间的设计师syntronized
:使线程安全执行功能的装潢器- 下载Download=File:允许视图支持文件下载的装潢器 将其还给:用于简化视觉写作的装潢器 请求:允许视图像API \ \ view行为的设计师 评价:以更安全的方式评价蟒蛇的表达 执行:允许更安全地执行蟒蛇代码
temporary \ \ upload
:允许视图临时支持文件导入的装潢器- 从词典中可以产生一个卡地亚的产品。
patch \ \ uSettings
:context manager for change配置时间的变化get \ \ ufields
:允许恢复一个或多个应用程序的模型选择- 中恢复所有反向关系
get \ \ ftchs
:允许从模型get \ \ related
- 的通用关系 可以将任何字符串转换成布尔 代码:允许将任何元素转换成小数。 从十进制到十进制:可以将十进制数转换成字符串。 代码:允许从模块中回收所有的投票箱。 李代码字典,所以密钥总是以统一格式转换。 字典可以用钥匙排序字典。 无绝对无效对象总是返回无误值 用于转换字典或蟒蛇对象 输入大小:允许回收任何蟒蛇物体的记忆尺寸
prefetch \/code>:允许恢复模型
- 程序文件:
file=uis
:检查文件是否以文本格式- code>process"/
- 对字符串进行编码 字符串解码为64。 简短标识符:允许生成简短的"唯一"标识符 编码器:允许把蟒蛇物体编成json。 将JSON字符串解码为Python对象
base64 \ \ code
:允许基于64get \ \ user
:允许从执行堆栈中恢复目前连接的用户get \ \ pk \ \ field
Others(
common.admin
)
create \ \ admin
:允许自动创建一个模型的管理阶层模型字段
模板字段定义为
common.fields
。代码:customdecimalfield:小数字段,以避免数字的科学代表性 编码:含有原始蟒蛇数据的二进制字段 代码:表示JSON数据的字段(与其他SGBD兼容,但仅为PostgresQL) 支持此字段中的查询
表格
在
common.forms
中定义表格周围的工具。每一类别 表格具有一个基本接口,通常为base
预先编辑以用于其他实现。代码:具有历史管理的表格的基本类别 使用历史管理的表格集基本类别
Django Rest Frameworkcommodelform
:代表实体提交的表格的基本类别commodelformset
:代表实体提交的所有表格的基本类别jsonfield
:代表json数据的表格字段get \ \ fsForm
:用于创建实体表格的功能实用性
代码:用于将常规串行器转换成模型串行器的装潢器
- 创建模型\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\\ \
to \ \ model viewset
:用于将模型和串行器与视图相关联的装潢师- 安美奇直达天下广告平台将采用"云搜索"和"微广告"技术为大家提供精确的搜索直达服务和专业的广告宣传策划方案。 创建模型\ \ serializer 汽车视图:从Queryset创建视图的装饰师
perishable&view
:允许从视觉上管理通过URL的易腐数据- 创建一个或多个模型的APIS标准(restful) <关闭用于APIS关系的下拉列表
api \ \ pagninate
:允许在视图查询结果上添加一个页面Syrialisers(
common.api.serializers
)Code>Li>Commonmodelserializer:代表实体的共同序列员
genericformserializer
:使实体相互连接以填写表格字段(
common.api.fields
)Jsonfield:数据管理字段Json
不对称RelatedField
:允许显示所有外国密钥实体数据的字段 但接受简单的创建/修改标识符 海关超链接字段:通过交叉路口管理与其他用户的链接的字段 不同的名称(默认用户名)pagenation(
common.api.pagenation
)编码:改进的APIS标记 (必须在
default \ \ ux class
rest \ \ fn framework中定义)returners(
common.api.rendererrs
)
- Code>Customcsvrender:通过下载增强CSV(只有在Django-Rest-Framework-CSV安装时) 必须在
default
restframework中定义。classes tests(
common.tests
)代码:APIS单元测试的基本类别 验证的APIS单元测试的基本类别
create \ \ api \ \ uu test
:用于生成标准API(restful)所有测试的函数推荐PyPI第三方库