Джанго отображать данные из JSON - PullRequest
0 голосов
/ 04 февраля 2019

Я хочу показать цены на криптовалюту на моем сайте.Поэтому я анализирую последнюю цену BTC / USD на сайте coinmarketcap.com, теперь я хочу отобразить их в списке, но сначала я не знаю, кому сохранить символ из json в моей базе данных, а во-вторых, как я могу отображать мое представление с опережением.В настоящее время я сохраняю только ключ: значение price_usd, где ключ - это название валюты.

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'),

моделей.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)

1 Ответ

0 голосов
/ 04 февраля 2019

Неужели просто добавление

symbol= exchange_rate['symbol']

в ваш update_or_create будет работать?JSON из coinmarketcap устанавливает это как ключ в словаре, если вы не хотите использовать изображение, которое они используют?В этом случае вам придется самостоятельно сохранить копии этого изображения, создать отображение текста символа на само изображение и отформатировать его в выводе html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...