问题描述
请,建议。刷新page(F5)时如何转义重发会话数据。 输入城市的名称,看适当的留言。 如果我刷新页面(F5),则该消息仍将出现在页面上。 看起来好像在刷新页面时 以前的数据正在从浏览器发送到我们的应用。
views.py:
import requests
from django.shortcuts import render,redirect
from .models import City
from .forms import CityForm
def index(request):
url = 'http://api.openweathermap.org/data/2.5/weather?q={}&units=imperial&appid='
err_msg = ''
message = ''
message_class = ''
if request.method == 'POST':
form = CityForm(request.POST)
if form.is_valid():
new_city = form.cleaned_data['name']
existing_city_count = City.objects.filter(name=new_city).count()
if existing_city_count == 0:
r = requests.get(url.format(new_city)).json()
if r['cod'] == 200:
form.save()
else:
err_msg = 'City does not exist in the world!'
else:
err_msg = 'City already exists in the database!'
if err_msg:
message = err_msg
message_class = 'is-danger'
else:
message = 'City added successfully!'
message_class = 'is-success'
form = CityForm()
cities = City.objects.all()
weather_data = []
for city in cities:
r = requests.get(url.format(city)).json()
city_weather = {
'city': city.name,'temperature': int((r['main']['temp']-32)*5/9),'description': r['weather'][0]['description'],'icon': r['weather'][0]['icon'],}
weather_data.append(city_weather)
context = {
'weather_data': weather_data,'form': form,'message': message,'message_class': message_class
}
return render(request,'weather/weather.html',context
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)