Django погода часть № 3

11 июня 2019 г. 0:00


Настало время получить данные о курсе Биткоин!

Для получения информации будем использовать API крипто валютной биржи Bitfinex и библиотек requests.

Активируем наше виртуальное окружение (если оно не активировано) и установим библиотеку, выполнив команду:

pip install requests

Можно создать новое приложение для запроса курса, но учитывая то что нам нужно написать только модуль для получения информации, а выводить мы будем всё на главную страницу, предлагаю в приложении weather создать файл с именем: 

crypto_course.py

Напишем в нашем модуле следующее:

import requests


def get_cripto_course():
    url = 'https://api.bitfinex.com/v1/pubticker/btcusd'
    response = requests.get(url)
    answer = response.json()
    try:
        course = answer['last_price']
    
    except:
        course = ''
        
    return course

первой строкой мы импортируем библиотеку, далее создаём нашу функцию которая отправляет GET запрос к серверу на адрес:

'https://api.bitfinex.com/v1/pubticker/btcusd'

после этого переводим ответ сервера в json массив и из этого массива пытаемся получить ‘last_price’,  делаем это через попытку, т.к. сервер может нам вернуть не тот ответ который мы от него ждём. Более подробную информацию по вариантам запроса к API Bitfinex можно найти в официальной документации:

https://docs.bitfinex.com/reference

Возвращаем результат выполнения функции, делаем это через попытку, так как сервер может нам вернуть не то что мы ожидаем от него получить.
Теперь в файле view.py импортируем нашу функцию и получаем курс монеты биткоин и передадим получившуюся переменную в шаблон:

from django.shortcuts import render
from .cripto_course import get_cripto_course


def index(request):
    course = get_cripto_course()
    return render(request, 'index.html', {'course': course})

Изменим шаблон index.html заменив строку Hello world на:

<h1>Курс Bitcoin на текущий {{ course }} $</h1>

Запустим сервер и убедимся, что у нас всё получилось так как мы и задумывали!


Основы Django | Уроки Django | Сайт на Django |