Я собираюсь ответить на ваш вопрос в терминах django, вам нужно будет выяснить, как получить запрос от внешнего API из их документов.
Согласно django документам: A * 1003 Блок-схема метода TemplateView:
- setup ()
- dispatch ()
- http_method_not_allowed ()
- get_context_data ()
теперь вы используете
def index(request, template_name="index.html"):
headers = {'Authorization': 'my_private_api'}
args={}
request = Request('https://avwx.rest/api/metar/KJFK', headers=headers)
response_body = urlopen(request).read()
args['metar'] = response_body
return TemplateResponse(request,template_name,args)
, который не будет работать, поскольку этот def index(...
не выполняется вообще. так что у вас ничего нет в вашем контексте metar
поэтому изменение вашего кода на:
class DashboardView(TemplateView):
template_name = "index.html"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
#headers = {'Authorization': 'my_private_api'}
#request = Request('https://avwx.rest/api/metar/KJFK',headers=headers)
#response_body = urlopen(request).read()
context['metar'] = 'some information'
return context
даст вам metar
как 'some information'
в вашем шаблоне.