无法将我的视图中的temp_k变量发送到index.html。我已经从weather API发出请求并尝试将其传递给我的html。 请建议我们如何将视图中的变量发送到模板。
views.py
from django.template.loader import render_to_string
import requests
from django.shortcuts import render
from django.http import HttpResponse
def hello(request):
my_dict = {'insert_me': "From andu.py"}
return render(request, 'mywebapp/index.html', context=my_dict)
def temperature(request):
#zip=requests.form['zip']ss
r=requests.get('http://samples.openweathermap.org/data/2.5/weather?zip=94040,us&appid=b6907d289e10d714a6e88b30761fae22')
json_object=r.json()
my_dict1={'temp_k' :json_object['main']['temp']}
return render(request,'mywebapp/index.html', context=my_dict1)
index.html
<!DOCTYPE html>
{% load staticfiles%}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hey</title>
<link rel="stylesheet" href={% static "cs/style.css" %}/>
</head>
<body>
<h1>This is the Header</h1>
<img src="{% static "images/youownme.jpeg" %}" atl="Uh Oh">
<h2> Temperature:{{temp_k}}</h2>
</body>
</html>
答案 0 :(得分:0)
我已经尝试过您的代码并且工作正常,因此您可能想要检查您是否正在呈现正确的HTML文件,我已经更改了您的代码以确保它正常工作并且
my_dict1={'temp_k' :json_object['wind']['speed']}
抱歉,我还不能发表评论!
答案 1 :(得分:0)
像这样使用render
:
return render(request,'mywebapp/index.html',{'context':my_dict})