我叫奥马尔。我正在从事一个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
我怎样才能知道请求的错误在哪里
您需要传递类
SynapseUser
的实例,而不是类本身。线路:
应该是:
其中
user
是SynapseUser
类型因此,您需要提前获取django
User
的SynapseUser
:您需要创建一个方法来获取django用户的
synapse_user_id
(在本例中是currentUser
)我建议创建一个
UserProfile
类,该类与User
具有一对一的关系,您可以在其中存储此信息和其他信息有关如何设置的示例,请参见this post
相关问题 更多 >
编程相关推荐