小编Pyt*_*ast的帖子

使用Postman与请求发布到Flask会填充不同的请求属性

我正在使用Postman和请求库向我的Flask应用程序发送POST请求.当我使用Postman时,我可以获取数据json.loads(request.data).当我使用请求或卷曲时,我可以获取数据request.form.为什么使用填充不同属性的两个工具发送相同的数据?

python curl flask python-requests postman

5
推荐指数
1
解决办法
3650
查看次数

Mongo嵌入式文档查询

我有2个DynamicDocuments:

class Tasks(db.DynamicDocument):
    task_id = db.UUIDField(primary_key=True,default=uuid.uuid4)
    name = db.StringField()
    flag = db.IntField()

class UserTasks(db.DynamicDocument):
    user_id = db.ReferenceField('User')
    tasks = db.ListField(db.ReferenceField('Tasks'),default=list)
Run Code Online (Sandbox Code Playgroud)

我想UserTasks通过检查flag给定task_id 的值(来自Tasks Document)是否为0或者1给定task_id和user_id 来过滤文档.所以我用以下方式查询: -

obj = UserTasks.objects.get(user_id=user_id,tasks=task_id)
Run Code Online (Sandbox Code Playgroud)

这会抓住我一个UserTask对象.

现在我循环遍历任务列表,首先我获得等效任务,然后按以下方式检查其标志值.

task_list = obj.tasks
for t in task_list:
    if t['task_id'] == task_id:
        print t['flag']
Run Code Online (Sandbox Code Playgroud)

是否有更好/直接的方式查询UserTasksDocument以获取Tasks Document的标志值.

PS:我可以从TasksDocument 直接获取标志值,但我还需要检查任务是否与用户相关联.因此我直接查询了该USerTasks文件.

python mongodb mongoengine mongodb-query

5
推荐指数
1
解决办法
1033
查看次数

如何从Events API获取email_ids(不是G + id)

我正在使用Google API来获取用户的日历活动和联系人.

在获取联系人时,我以下列方式得到答复: -

[
    {
        'phones': [],
        'image_path': '',
        'id': 'ID',
        'emails': ['email1'],
        'name': ABC
    },
    {
        'phones': [],
        'image_path': '',
        'id': 'ID',
        'emails': ['email2'],
        'name': DEF
    }
]
Run Code Online (Sandbox Code Playgroud)

在获取事件时,我得到了以下响应: -

[
    {
        'attendees': [{
            'organizer': True,
            'displayName': 'ABC',
            'id': 'Google+ Id',
            'responseStatus': 'accepted'
        }, {
            'self': True,
            'displayName': 'DEF',
            'id': 'Google+ id',
            'responseStatus': 'accepted'
        }],
        'organizer': {
            'displayName': 'ABC',
            'id': 'Google+ id'
        },
        'creator': {
            'displayName': 'ABC',
            'id': 'Google+ id'
        },
    },
    {
        'organizer': {
            'self': True,
            'displayName': …
Run Code Online (Sandbox Code Playgroud)

google-calendar-api google-api google-contacts-api

5
推荐指数
1
解决办法
241
查看次数

排序提供订单的字典列表

我有一份清单

order = [8, 7, 5, 9, 10, 11]
Run Code Online (Sandbox Code Playgroud)

和一个词典列表

list_of_dct = [{'value':11}, {'value':8}, {'value':5}, {'value':7}, {'value':10}, {'value':9}]
Run Code Online (Sandbox Code Playgroud)

我想list_of_dctorder列表中给出的顺序对此进行排序,即输出应如下:

list_of_dct = [{'value':8}, {'value':7}, {'value':5}, {'value':9}, {'value':10}, {'value':11}]
Run Code Online (Sandbox Code Playgroud)

我知道如何按给定排序key,但不知道订单已经给出.我怎么排序呢?

PS:我已经有了O(n ^ 2)解决方案.寻找更好的解决方案.

python sorting dictionary list

5
推荐指数
1
解决办法
93
查看次数

Django OAuth 工具包和 Django Rest Swagger 集成

我正在使用OAuthToolkit和 DjangoRestSwagger。我已经使用 Django Admin 创建了一个应用程序,现在我已经client_idclient_secret.

我想使用client_idand生成令牌client_secret。目前,我curl用来生成令牌。

curl -X POST -d "grant_type=client_credentials" -u"client_id:client_secret" http://localhost:8000/o/token/
Run Code Online (Sandbox Code Playgroud)

我如何使用 Swagger 文档来做到这一点?基本上,如何将第三方(OAuthToolkit)API URL 与 Swagger 集成?

目前,我有一个Authorize接受api_key价值的按钮,即令牌。

这是我的 Swagger 设置。

SWAGGER_SETTINGS = {
    'SECURITY_DEFINITIONS': {
        'token': {
            'type': 'apiKey',
            'name': 'AUTHORIZATION',
            'in': 'header',
        }
    },
}
Run Code Online (Sandbox Code Playgroud)

python django swagger oauth2-toolkit django-swagger

5
推荐指数
1
解决办法
370
查看次数

Django 层次结构权限

我想在我的 Django 应用程序中拥有层次级别权限。

例如:- 考虑有 4 个级别 -

Admin
Sub-admin(CountryLevel(CL) Admin)
sub-sub-admin(StateLevel(SL) Admin)
And then normal Users(U).
Run Code Online (Sandbox Code Playgroud)

管理员将创建 CL,作为回报,CL 将创建 SL,而 SL 最终将吸引用户。最终目标是吸引用户。

管理员有权对任何用户应用 CRUD 操作。CL 应该有权访问由 CL 创建的 SL 加入(创建)的用户(对象)。作为回报,SL 应该只能访问由他加入(创建)的那些用户(对象)。此外,用户可以直接注册,无需任何管理员参与。在这种情况下,用户应有权访问他自己的应用程序。

我怎样才能获得像树级别的权限?

我能想到的解决方案是(但不确定):-

我已经更新了auth_group表格并添加parent_id到其中。以下是架构。

id, group_name, parent_id
Run Code Online (Sandbox Code Playgroud)

的意义parent_id在于创建一个树状的组结构。创建的组数等于树的高度。例如,考虑以下结构:-

id, group_name, parent_id

1 , admin, 0
2, CL, 1
3, SL, 2
Run Code Online (Sandbox Code Playgroud)

现在,当创建任何用户(加入)时,我将分配一个SL group_id,它将添加到auth_user_groups表中。

现在,我想问以下问题

1)如何管理组的层次权限,即SL应该只能访问他所加入的用户,CL应该能够访问他创建的SL所加入的所有用户等等。

2)(不确定我的想法是否正确)现在,由于我已将组 SL 分配给 SL 加入的所有用户,作为同一组的一部分,用户是否能够访问彼此的信息?

3) 对于直接加入的用户(即不通过任何 SL),我不会将他们映射到任何组。正确的?

python django django-permissions

5
推荐指数
1
解决办法
2432
查看次数

制作Django Rest框架(DRF)工作流的方法

我正在构建一个支持多种贷款产品的业务应用程序.

例如:房屋贷款,汽车贷款,个人贷款,电子商务贷款.

涉及的主要步骤是:

  1. 入职(生成铅)
  2. 用户信息(和验证)
  3. 贷款信息(可信度)
  4. 支出

业务流程的一个示例是:

  1. 客户登机,登记他的手机号码,用OTP验证

  2. 填写他的个人信息(验证它)

  3. 提供贷款金额

  4. 检查贷款可信度

  5. 分配资金(在XYZ验证后)

  6. 提供银行账户详情

  7. 验证银行帐户(仅在您获得abc信息后)

  8. 做eKYC

  9. 支出

现在,我正在使用Django REST Framework构建Web API.但是,有一个问题.

在我们的另一个产品中,流程可能不同.Step 4并且 Step 6可以互换,但Step 7需要在同一个位置完成.基本上,我应该有灵活性来重新调整活动(节点).

截至目前,编写的API(虽然是模块化的)仅适用于一种产品.如何使用DRF作为工作流方法?或使用DRF顶部的任何库来管理流程.

python django workflow django-rest-framework

5
推荐指数
1
解决办法
417
查看次数

Chrome-Dev-Tool :- 亚马逊中的 csm-hit cookie

我正在尝试在抓取亚马逊时设置cookie,以免被抓住并看起来像一个真实的用户。

我正在尝试复制该网站的行为。我已经完全分析了标头、请求和响应签名等。唯一发生变化的是cookies、 以及csm-hit。我理解更新visitCount背后的逻辑,但不理解。visitCountcsm-hit

这是csm-hit饼干。

tb:s-Y4SB9X78SYQB53MGCQWE|1551555477343&t:1551555479805&adb:adblk_no
Run Code Online (Sandbox Code Playgroud)

它的格式如下:-

tb:s - ALPHANUMERIC | EPOCH_TIME &t EPOCH_TIME &adb:adblk_no
Run Code Online (Sandbox Code Playgroud)

这个字母数字字符(看起来像 base64 编码)不断变化。updateCsmHit它在重新加载/重定向出亚马逊时调用一个函数,然后更新csm-hit该值,然后在下次向服务器发出请求时重新使用相同的更新值。如果此 cookie 尚未保存在浏览器中,则它不会发送csm-hit请求,而是在我们走出亚马逊时保存它。

我已经使用 Chrome Dev 工具分析了完整的源代码,但无法破解生成此字母数字值的逻辑。

  1. 我想了解这个值是如何生成的,以便我可以使用相同的逻辑来复制它的生成?任何人都可以使用 Chrome 开发工具在这方面帮助我。

  2. 有谁知道 的意义吗csm-hit

PS:请不要建议我csm-hit每次都使用相同的。我想知道这是如何生成的。

cookies web-scraping google-chrome-devtools

5
推荐指数
0
解决办法
2279
查看次数

Docker-compose 服务退出,代码为 0

我对 Docker 很陌生。我正在尝试在 Docker 上运行 Django。以下是我的docker-compose文件。

version: '2'
services:
    django:
        build:
          context: .
          dockerfile: ./deploy/dev/Dockerfile
        tty: true
        command: python manage.py runserver 0.0.0.0:8000
        ports:
              - "8000:8000"
        volumes:
            - ./app:/src/app
        depends_on:
            - "workflow_db"
            - "rabbitmq"
        env_file:
            - ./deploy/dev/envvar.env
    workflow_db:
        image: postgres:9.6
        volumes:
            - postgres_data:/var/lib/postgresql/data/
        environment:
            - POSTGRES_USER=hello_django
            - POSTGRES_PASSWORD=hello_django
            - POSTGRES_DB=hello_django
    rabbitmq:
        image: "rabbitmq:3-management"
        hostname: "rabbitmq"
        environment:
            RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG"
            RABBITMQ_DEFAULT_USER: "rabbitmq"
            RABBITMQ_DEFAULT_PASS: "rabbitmq"
            RABBITMQ_DEFAULT_VHOST: "/"
        ports:
            - "15672:15672"
            - "5672:5672"
volumes:
  postgres_data:
Run Code Online (Sandbox Code Playgroud)

文件

FROM python:3.7-alpine

RUN apk update && apk …
Run Code Online (Sandbox Code Playgroud)

django uwsgi docker

5
推荐指数
1
解决办法
4913
查看次数

将datetime格式转换为秒

我的日期是格式DD/MM/YYYY HH:MM:SS,即16/08/2013 09:51:43.如何使用total_seconds()或使用任何其他python函数将日期转换为python秒?

python datetime

4
推荐指数
3
解决办法
4万
查看次数