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

实体模型设定以下默认字段:

    创建日期:实体成立日期
  • modificationdate: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.entitytabularinlinecommon.admin.entitystackedinline

common.models.commodel提供了一个简化的版本,即common.admin.common admin可执行 历史之外的所有功能。

历史化

检测和记录实体模型数据中的任何变化, 这样就可以通过使用来跟踪修改,并且可以返回到先前的状态。 实体的实体或特定领域。

每次修改都保存一个实体历史(common.models.history)并保存一个单元 在历史文献(common.models.historyfield)中修改的字段,只有在修改时才使用。

  • 多种类型的关系在历史上被分开处理。
  • 如果Celery已经安装(A HREF="http://www.celeryproject.org/" rel="nofollow">http://www.celeryproject.org/修改的使用者保留在历史记录中。
  • 可以通过代码向历史记录添加信息和/或修改用户。
ααα4

在实体历史或字段历史上,可能会要求恢复 使用"Restore"(代码)("/ 还有一个用户和一个信息消息。

复原本身会产生一个特定的历史记录,以便在必要时能够返回。 ααα5

元数据

元数据允许将第三方数据添加到实体上,这些数据的结构可以如下: 用户愿意这样做,并将以JSON的形式储存在数据库中。每个实体都有 访问实体元数据的方法。

元数据存储的数据可以是任何类型的蟒蛇,条件是该蟒蛇这样做。 它可能包含的任何数据都是可编辑的(List,dict,int,float等)。 αααα6

实体元数据可直接用于查询,即使不建议用于查询。 业绩原因(视数据数量而定)。 它们以Djangocommon.models.metadata为形式。 αααα7

串行化

每个实体或实体的查询可以使用该方法进行串行化 Serialize(format=json)in one format:

  • json
  • xml
  • yaml
αααα8 αααα9 字典表演

查询或实体可以用蟒蛇字典代替,该字典采用to的方法。 αααα10

toto dict(code)实体类型 从专业翻译人员、公司、网页及可自由查看的翻译库中学习。 简单地在每个实体上以高效和独特的方式回收这个类型。 αααα

webhooks

Webhook是一个HTTP Calback,它根据一个动作向外部服务器发送数据 应用程序完成接收器必须能够理解所发送的消息。 可配置响应于一个或多个实体上的一个或多个动作的webhook。

所涵盖的行动是:

    创作
  • 修改
  • 删除
  • many-to-many类型的关系
Webhook可以被配置为使用验证如果需要,请在外部服务器上查询。

默认情况下,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应用程序或MOCK
  • parsedate:允许以任何格式评估日期
  • timet:用于计算功能运行时间的设计师
  • syntronized:使线程安全执行功能的装潢器
  • temporary \ \ upload:允许视图临时支持文件导入的装潢器
  • 下载
    Download=File:允许视图支持文件下载的装潢器 将其还给:用于简化视觉写作的装潢器 请求:允许视图像API \ \ view行为的设计师 评价:以更安全的方式评价蟒蛇的表达 执行:允许更安全地执行蟒蛇代码
  • patch \ \ uSettings:context manager for change配置时间的变化
  • 从词典中可以产生一个卡地亚的产品。
  • get \ \ ufields:允许恢复一个或多个应用程序的模型选择
  • get \ \ ftchs:允许从模型
  • 中恢复所有反向关系
  • get \ \ related
  • prefetch \/code>:允许恢复模型
  • 的通用关系 可以将任何字符串转换成布尔 代码:允许将任何元素转换成小数。 从十进制到十进制:可以将十进制数转换成字符串。 代码:允许从模块中回收所有的投票箱。 李代码字典,所以密钥总是以统一格式转换。 字典可以用钥匙排序字典。 无绝对无效对象总是返回无误值 用于转换字典或蟒蛇对象 输入大小:允许回收任何蟒蛇物体的记忆尺寸
  • file=uis:检查文件是否以文本格式
  • 程序文件:
  • code>process"/
  • base64 \ \ code:允许基于64
  • 对字符串进行编码 字符串解码为64。 简短标识符
    :允许生成简短的"唯一"标识符 编码器:允许把蟒蛇物体编成json。 将JSON字符串解码为Python对象
  • get \ \ user:允许从执行堆栈中恢复目前连接的用户
  • get \ \ pk \ \ field
Others(common.admin
  • create \ \ admin:允许自动创建一个模型的管理阶层

模型字段

模板字段定义为common.fields。

    代码:customdecimalfield:小数字段,以避免数字的科学代表性 编码:含有原始蟒蛇数据的二进制字段 代码:表示JSON数据的字段(与其他SGBD兼容,但仅为PostgresQL) 支持此字段中的查询

表格

common.forms中定义表格周围的工具。每一类别 表格具有一个基本接口,通常为base预先编辑以用于其他实现。

    代码:具有历史管理的表格的基本类别 使用历史管理的表格集基本类别
  • commodelform:代表实体提交的表格的基本类别
  • commodelformset:代表实体提交的所有表格的基本类别
  • jsonfield:代表json数据的表格字段
  • get \ \ fsForm:用于创建实体表格的功能
Django Rest Framework

实用性

    代码:用于将常规串行器转换成模型串行器的装潢器
  • to \ \ model viewset:用于将模型和串行器与视图相关联的装潢师
  • 创建模型\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\\ \
  • perishable&view:允许从视觉上管理通过URL的易腐数据
  • 安美奇直达天下广告平台将采用"云搜索"和"微广告"技术为大家提供精确的搜索直达服务和专业的广告宣传策划方案。 创建模型\ \ serializer 汽车视图
    :从Queryset创建视图的装饰师
  • api \ \ pagninate:允许在视图查询结果上添加一个页面
  • 创建一个或多个模型的APIS标准(restful) <关闭用于APIS关系的下拉列表
Syrialisers(common.api.serializers
    Code>Li>Commonmodelserializer:代表实体的共同序列员
  • genericformserializer:使实体相互连接以填写表格
字段(common.api.fields
    Jsonfield:数据管理字段Json
  • 不对称RelatedField:允许显示所有外国密钥实体数据的字段 但接受简单的创建/修改标识符 海关超链接字段:通过交叉路口管理与其他用户的链接的字段 不同的名称(默认用户名)
pagenation(common.api.pagenation
    编码:改进的APIS标记 (必须在default \ \ ux classrest \ \ fn framework中定义)
returners(common.api.rendererrs
  • Code>Customcsvrender:通过下载增强CSV(只有在Django-Rest-Framework-CSV安装时) 必须在defaultclassesrestframework中定义。
tests(common.tests
    代码:APIS单元测试的基本类别 验证的APIS单元测试的基本类别
  • create \ \ api \ \ uu test:用于生成标准API(restful)所有测试的函数

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序