tech/finance

21/06/24 stock dashboard 만들기 #4 tiingo api 사용 (외국 finance data)

tech-lover 2021. 6. 24. 16:17

views.py 변경

  • stock 함수 내용 수정
  • requests, json 추가
  • stock_info 변수에 저장에서 넘겨줌
from django.shortcuts import render
import requests
import json


def index(request):
    return render(request, 'stock/index.html', {})


def stock(request):

    headers = {
        'Content-Type': 'application/json'
    }

    api_requests = requests.get('https://api.tiingo.com/tiingo/daily/aapl/prices?startDate=2021-01-02&token={TIING_TOKEN}'
                                , headers=headers)

    try:
        api = json.loads(api_requests.content)
    except Exception as e:
        api = e

    return render(request, 'stock/stock.html', {'stock_info': api})


def home(request):
    return render(request, 'home.html', {})

templates/stock/stock.html 변경


{% extends 'template.html' %}

{% block content %}

<h1>Stock List</h1>


{{ stock_info }}

{% endblock %}

Results

[{"date":"2021-01-04T00:00:00.000Z","close":129.41,"high":133.6116,"low":126.76,"open":133.52,"volume":143301887,"adjClose":128.9983549851,"adjHigh":133.1865899616,"adjLow":126.3567844673,"adjOpen":133.0952813354,"adjVolume":143301887,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-05T00:00:00.000Z","close":131.01,"high":131.74,"low":128.43,"open":128.89,"volume":97664898,"adjClose":130.5932654864,"adjHigh":131.3209434026,"adjLow":128.021472303,"adjOpen":128.4800090721,"adjVolume":97664898,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-06T00:00:00.000Z","close":126.6,"high":131.0499,"low":126.382,"open":127.72,"volume":155087970,"adjClose":126.1972934171,"adjHigh":130.633038567,"adjLow":125.9799868613,"adjOpen":127.3137307681,"adjVolume":155087970,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-07T00:00:00.000Z","close":130.92,"high":131.63,"low":127.86,"open":128.36,"volume":109578157,"adjClose":130.5035517707,"adjHigh":131.2112933057,"adjLow":127.4532854369,"adjOpen":127.9516949686,"adjVolume":109578157,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-08T00:00:00.000Z","close":132.05,"high":132.63,"low":130.23,"open":132.43,"volume":105158245,"adjClose":131.6299573123,"adjHigh":132.208112369,"adjLow":129.815746617,"adjOpen":132.0087485563,"adjVolume":105158245,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-11T00:00:00.000Z","close":128.98,"high":130.17,"low":128.5,"open":129.19,"volume":100620880,"adjClose":128.5697227878,"adjHigh":129.7559374732,"adjLow":128.0912496375,"adjOpen":128.7790547911,"adjVolume":100620880,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-12T00:00:00.000Z","close":128.8,"high":129.69,"low":126.86,"open":128.5,"volume":90440255,"adjClose":128.3902953564,"adjHigh":129.2774643228,"adjLow":126.4564663736,"adjOpen":128.0912496375,"adjVolume":90440255,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-13T00:00:00.000Z","close":130.89,"high":131.45,"low":128.49,"open":128.76,"volume":88636831,"adjClose":130.4736471988,"adjHigh":131.0318658743,"adjLow":128.0812814468,"adjOpen":128.3504225939,"adjVolume":88636831,"divCash":0.0,"splitFactor":1.0},{"date":"2021-01-14T00:00:00.000Z","close":128.91,"high":131.0,"low":128.76,"open":130.8,"volume":90221755,"adjClose":128.4999454534,"adjHigh":130.5832972958,"
...
...