我想在我的网站上显示加密货币价格。因此,我从coinmarketcap.com解析了最新的BTC / USD价格 现在我想在列表中显示它们,但我首先不知道谁将json中的符号保存到我的数据库中,其次我该如何正确显示我的视图。目前,我只保存key:price_usd的值,其中key是货币名称。
views.py
def crypto_ticker(request):
list_prices = CryptoPrices.objects.get_queryset().order_by('-pk')
paginator = Paginator(list_prices, 100) # Show 100 prices per page
page = request.GET.get('page')
price = paginator.get_page(page)
return render(request, 'MyProject/crypto_ticker.html', {'price': price})
urls.py
url(r'^crypto_ticker/$', MyProject_views.crypto_ticker, name='crypto_ticker'),
models.py
class CryptoPrices(models.Model):
symbol = models.CharField(max_length=10)
key = models.CharField(max_length=30)
value = models.CharField(max_length=200)
芹菜更新任务:
@periodic_task(run_every=(crontab(minute='*/1')), name="Update Crypto rate(s)", ignore_result=True)
def get_exchange_rate():
api_url = "https://api.coinmarketcap.com/v1/ticker/?limit=100"
try:
exchange_rates = requests.get(api_url).json()
for exchange_rate in exchange_rates:
CryptoPrices.objects.update_or_create(key=exchange_rate['id'],
defaults={'value': round(float(exchange_rate['price_usd']), 3)}
)
logger.info("Exchange rate(s) updated successfully.")
except Exception as e:
print(e)
答案 0 :(得分:0)
肯定只是添加
symbol= exchange_rate['symbol']
对您的update_or_create起作用吗? 来自coinmarketcap的JSON将其设置为字典中的键,除非您想要它们使用的图像? 在这种情况下,您将必须自己保存该图像的副本,创建从符号文本到图像本身的映射,并在html输出上设置其格式。