SynapsePay和Django用户问题的冲突实例

2024-09-29 23:27:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我叫奥马尔。我正在从事一个django项目,该项目使用SynapsePay api进行货币交易。我遇到了一个问题,我有两个相同对象(用户)的实例。在Django应用程序中创建新用户时,Django使用“User”对象。Synapse在api中创建新用户时使用“User”对象。当我尝试使用synapseapi时,我开始对同一个变量使用冲突

在import语句中,当我从synapseapi导入用户时,我将用户的实例保存为SynapseUser,这就是我用来与应用程序交互的内容

我无法控制api的某些部分,这些部分使用api中的“User”对象,它正在获取错误的对象或试图获取正在传递的密钥中不存在的密钥

这是我所有的代码和错误,我试图得到

下面的代码是获取表单内容并使用api测试银行身份验证

Here is a link to the api github samples.md file

以下是views.py文件:

import os
from synapse_pay_rest import Client
from synapse_pay_rest import User as SynapseUser
from synapse_pay_rest.models.nodes import AchUsNode

def linkBankLogin(request, form):
    currentUser = loggedInUser(request)
    cd = form.cleaned_data
    bank_name = cd['bank']
    username = cd['username']
    password = cd['password']

    required = {
        'bank_name':'wellsfargo',
        'username':'omarjandali',
        'password':'123123asd'
    }

    ach_us = AchUsNode.create_via_bank_login(SynapseUser, **required)

    ach_us.mfa_verified

以下是用户提交链接帐户表单时出现的错误:

AttributeError at /link_account/
type object 'User' has no attribute 'client'
Request Method: POST
Request URL:    http://127.0.0.1:8000/link_account/
Django Version: 1.11.5
Exception Type: AttributeError
Exception Value:    
type object 'User' has no attribute 'client'
Exception Location: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/synapse_pay_rest/models/nodes/ach_us_node.py in create_via_bank_login, line 39

create\ via\ bank\ login是在api中创建的内部方法,我无法更改。我怎样才能让它抓住突触器

**更新**

以下代码用于按id查找用户:

user = User.by_id(client, '...4dc1')

所以我可以这样做:

synapseUser = SynapseUser.by_id(client, '...4dc1')

因为我刚才添加的代码在返回创建的用户信息时起了作用

而不是:

ach_us = AchUsNode.create_via_bank_login(SynapseUser, **required)

我可以使用:

ach_us = AchUsNode.create_via_bank_login(synapseUser, **required)

**继续更新**

我有以下代码来执行我想要集成的内容:

def searchUserSynapse(request):
    currentUser = loggedInUser(request)
    currentProfile = Profile.objects.get(user = currentUser)
    synapse_id = currentProfile.synapse_id

    user = SynapseUser.by_id(clients, str(synapse_id))

    response = user.json
    print(response)
    return user

def linkBankLogin(request, form):
    currentUser = loggedInUser(request)
    cd = form.cleaned_data
    bank_name = cd['bank']
    username = cd['username']
    password = cd['password']

    required = {
        'bank_name':'wellsfargo',
        'username':'omarjandali',
        'password':'123123asd'
    }

    response = searchUserSynapse(request)

    ach_us = AchUsNode.create_via_bank_login(response, **required)

    ach_us.mfa_verified

新的错误消息如下:

BadRequestError at /link_account/
No exception message supplied
Request Method: POST
Request URL:    http://127.0.0.1:8000/link_account/
Django Version: 1.11.5
Exception Type: BadRequestError
Exception Location: 
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/synapse_pay_rest/http_client.py in parse_response, line 86

我怎样才能知道请求的错误在哪里


Tags: 用户apiidrequestcreaterequiredusernamecd
1条回答
网友
1楼 · 发布于 2024-09-29 23:27:18

您需要传递类SynapseUser的实例,而不是类本身。

线路:

ach_us = AchUsNode.create_via_bank_login(SynapseUser, **required)

应该是:

ach_us = AchUsNode.create_via_bank_login(user, **required)

其中userSynapseUser类型

因此,您需要提前获取djangoUserSynapseUser

user = SynapseUser.by_id(client, synapse_user_id)

您需要创建一个方法来获取django用户的synapse_user_id(在本例中是currentUser

我建议创建一个UserProfile类,该类与User具有一对一的关系,您可以在其中存储此信息和其他信息

有关如何设置的示例,请参见this post

相关问题 更多 >

    热门问题