使用Python eve时如何添加一些自我过程?

Gladuo

使用Python eve时如何添加一些自我过程?

例如,这是我的活动架构。

schema = {
        'id': {
            'type': 'integer',
            'readonly': True,
            'unique': True,
        },

        'name': {
            'type': 'string',
            'minlength': 3,
            'maxlength': 20,
            'required': True,
        },

        'date': {
            'type': 'datetime',
        },

        'location': {
            'type': 'string',
        },

        'icon': {
            'type': 'media',
        },

        'type': {
            'type': 'integer',
            'allowed': [i for i in range(5)],
        },

        'info': {
            'type': 'list',
        },

        'share': {
            'type': 'dict',
            'readonly': True,
            'schema': {
                'url': {
                    'type': 'string',
                },
                'qr': {
                    'type': 'media',
                }
            }
        },
        'publisher': {
            'type': 'list',
        },
        'participators': {
            'type': 'list',
        },
     }

而且我想在使用POST创建活动时生成共享网址和qr代码,并给它一个简单的ID(如001),我已经实现了生成类似qr代码生成器之类的代码,但是我不知道如何在要发布的信息之后和保存到MongoDB之前添加所有这些功能。

我见过类似Event Hook的东西,但我仍然不知道如何实现,例如修复POST数据或其他功能。

您能给我看一些数据示例吗,非常感谢。

尼古拉·亚罗奇(Nicola Iarocci)

on_insert事件被触发后,POST请求已被验证,解析和之前的文件被发送到数据库。您可以挂钩回调函数on_insert并根据需要操纵有效负载,如下所示:

from eve import Eve

def manipulate_inbound_documents(resource, docs):
    if resource == 'activity':
        for doc in docs:
            doc['id_field'] = '001'
            doc['qr'] = 'mycqcode'

app = Eve()
app.on_insert += manipulate_inbound_documents

if __name__ == '__main__':
    app.run()

您还可以使用on_insert_<resourcename>,如下所示:

# note that the signature has changed
def manipulate_inbound_documents(docs):
    # no need to branch on the resource name
    for doc in docs:
        doc['id_field'] = '001'
        doc['qr'] = 'mycqcode'

app = Eve()
# only fire the event on 'activity' endpoint
app.on_insert_activity += manipulate_inbound_documents

第二种方法使每个回调函数都超级专门化,并改善了代码隔离性。还要记住,您可以将多个回调连接到同一个事件(因此,一元运算符)。

供参考,请参阅文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Python eve时如何添加一些自我过程?

来自分类Dev

在Python 3上使用`json.dumps`时如何添加一些空行?

来自分类Dev

当我使用简单的javascript单击按钮时,如何在div标签的另一个文件上添加一些HTML代码

来自分类Dev

使用 Pywikibot 时如何添加一些内容来编辑摘要?

来自分类Dev

Android:使用我的.apk添加一些文件

来自分类Dev

当我在末尾添加一些内容时,Python换行符'\ n'不起作用

来自分类Dev

我如何使用grunt或gulp在我的min.js文件之前添加一些随机数

来自分类Dev

我在使用Storyboard将单元格添加到UITableView中时遇到了一些麻烦

来自分类Dev

当我使用python请求写入文件时缺少一些html标签

来自分类Dev

我如何使用windev 的一些SAP 脚本?

来自分类Dev

即使我正在使用systemd,也会通过init开始一些过程

来自分类Dev

我如何使用 % 占位符在 python 中写一些东西?

来自分类Dev

我在使用Python增强多个图像时遇到了一些问题,它显示了一些错误

来自分类Dev

无法使用自我时如何上课-Python

来自分类Dev

如何使用 Python 从 url 中提取一些数据

来自分类Dev

为什么当我尝试使用 python 在表中插入一些值时,输出没有?

来自分类常见问题

我想选择数据,然后使用concat更新以添加一些文本(Mysql)

来自分类Dev

我只想使用 JSOUP 向现有 HTML 中永久添加一些 html 标签

来自分类Dev

在使用指针添加C ++数组时需要一些建议

来自分类Dev

使用flux:grid 和v:content.render 时需要添加一些Typoscript 吗?

来自分类Dev

使用elasticsearch_dsl(Python)时如何指定文件类型?同样,如何指定一些索引?

来自分类Dev

python:当我输入一些东西时它会重置网址

来自分类Dev

当我使用conn.getresponse()时,出现了一些错误

来自分类Dev

我想使用numpy分析一些数据,但是执行代码时错误不断弹出

来自分类Dev

当我使用NSURLConnection异步获取数据时,一些数据丢失

来自分类Dev

当我使用其他一些类实现MainWindow时,DataContext无法正常工作

来自分类Dev

reactjs-我的函数在更新状态和使用Promise时遇到一些问题

来自分类Dev

在使用 php 更新数据库时,我遇到了一些问题

来自分类Dev

当我使用 laravel 6.0 版本时出现一些错误,此代码如下

Related 相关文章

  1. 1

    使用Python eve时如何添加一些自我过程?

  2. 2

    在Python 3上使用`json.dumps`时如何添加一些空行?

  3. 3

    当我使用简单的javascript单击按钮时,如何在div标签的另一个文件上添加一些HTML代码

  4. 4

    使用 Pywikibot 时如何添加一些内容来编辑摘要?

  5. 5

    Android:使用我的.apk添加一些文件

  6. 6

    当我在末尾添加一些内容时,Python换行符'\ n'不起作用

  7. 7

    我如何使用grunt或gulp在我的min.js文件之前添加一些随机数

  8. 8

    我在使用Storyboard将单元格添加到UITableView中时遇到了一些麻烦

  9. 9

    当我使用python请求写入文件时缺少一些html标签

  10. 10

    我如何使用windev 的一些SAP 脚本?

  11. 11

    即使我正在使用systemd,也会通过init开始一些过程

  12. 12

    我如何使用 % 占位符在 python 中写一些东西?

  13. 13

    我在使用Python增强多个图像时遇到了一些问题,它显示了一些错误

  14. 14

    无法使用自我时如何上课-Python

  15. 15

    如何使用 Python 从 url 中提取一些数据

  16. 16

    为什么当我尝试使用 python 在表中插入一些值时,输出没有?

  17. 17

    我想选择数据,然后使用concat更新以添加一些文本(Mysql)

  18. 18

    我只想使用 JSOUP 向现有 HTML 中永久添加一些 html 标签

  19. 19

    在使用指针添加C ++数组时需要一些建议

  20. 20

    使用flux:grid 和v:content.render 时需要添加一些Typoscript 吗?

  21. 21

    使用elasticsearch_dsl(Python)时如何指定文件类型?同样,如何指定一些索引?

  22. 22

    python:当我输入一些东西时它会重置网址

  23. 23

    当我使用conn.getresponse()时,出现了一些错误

  24. 24

    我想使用numpy分析一些数据,但是执行代码时错误不断弹出

  25. 25

    当我使用NSURLConnection异步获取数据时,一些数据丢失

  26. 26

    当我使用其他一些类实现MainWindow时,DataContext无法正常工作

  27. 27

    reactjs-我的函数在更新状态和使用Promise时遇到一些问题

  28. 28

    在使用 php 更新数据库时,我遇到了一些问题

  29. 29

    当我使用 laravel 6.0 版本时出现一些错误,此代码如下

热门标签

归档