【发布时间】:2021-06-27 21:40:50
【问题描述】:
总的来说,我对 Django 和 Python 有点陌生
我正在尝试使用外部 API(alpacas 获取帐户)并将结果返回为 json /rest
我在一个没有 Django 的简单 python 项目中测试了代码,它运行良好,但是当我将它插入 Django 时,我得到了不带参数的错误
编写代码并运行后,当我在邮递员中调用 API 时,我看到不接受参数错误
查看下面的错误详情
Django 版本:3.1.5
异常类型:TypeError
异常值:
AccountView() 没有参数
Internal Server Error: /alpaca/v1/alpaca_account/
Traceback (most recent call last):
File "/Users/xxxx/PycharmProjects/xxxx/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/Users/xxxx/PycharmProjects/xxxx/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
TypeError: AlpacaAccountView() takes no arguments
[27/Jun/2021 21:24:12] "GET /alpaca/v1/alpaca_account/ HTTP/1.1" 500 56001
老实说,我不知道这个错误在说什么
请帮我解决这个问题
在下面查看我的代码
查看
import requests, json
from .config import *
BASE_URL = BASE_URL
ACCOUNT_URL = "{}/v2/account".format(BASE_URL)
ORDERS_URL = "{}/v2/orders".format(BASE_URL)
HEADERS = {'APCA-API-KEY-ID': API_KEY, 'APCA-API-SECRET-KEY': SECRET_KEY}
# Create your views here.
class AccountView:
def get_account(self):
r = requests.get(ACCOUNT_URL, headers=HEADERS)
return json.loads(r.content)
查看 urls.py
from django.urls import path, include
from AlpacaTrade.views import *
urlpatterns = [
path('v1/alpaca_account/', AccountView),
]
models.py
from django.db import models
# Create your models here.
class AlpacaAccount(models.Model):
symbol = models.CharField(max_length=200)
qty = models.CharField(max_length=200)
notional = models.CharField(max_length=200)
side = models.CharField(max_length=200)
type = models.CharField(max_length=200)
time_in_force = models.CharField(max_length=200)
limit_price = models.CharField(max_length=200)
stop_price = models.CharField(max_length=200)
trail_price = models.CharField(max_length=200)
trail_percent = models.CharField(max_length=200)
extended_hours = models.CharField(max_length=200)
client_order_id = models.CharField(max_length=200)
order_class = models.CharField(max_length=200)
take_profit = models.CharField(max_length=200)
stop_loss = models.CharField(max_length=200)
status = models.CharField(max_length=200)
limit = models.CharField(max_length=200)
after = models.CharField(max_length=200)
until = models.CharField(max_length=200)
direction = models.CharField(max_length=200)
nested = models.BooleanField(default=0)
symbols = models.CharField(max_length=200)
user_id = models.CharField(max_length=200)
【问题讨论】: