你好,我正在做项目,我被困在那里了,当我做这个Python代码时,我什么也得不到
from flask import Flask, render_template, request ,escape
import requests
from bs4 import BeautifulSoup
app = Flask(__name__)
@app.route('/')
def home():
return render_template("ddd.html")
@app.route('/weather', methods=['POST'])
def weather():
selected_city = request.form.get('manu')
r = requests.get(selected_city,timeout=10)
c = r.content
soup = BeautifulSoup(c,"html.parser")
all_items = soup.find_all("div", {"class","cont25"})
time_items = soup.find_all("div",{"cass","24_in"})
return render_template("weather.html",all_items=all_items,time_items=time_items)
if __name__ == '__main__':
app.run(debug=True)html文件
{% extends 'base.html' %}
{% block body %}
<form method="POST" action="weather">
<select name="manu" id="the_select" style="margin-right: 6px;">
<option>აირჩიე ქალაქი</option>
<option value="https://amindi.ge/abastumani/აბასთუმანი">აბასთუმანი</option>
<option value="https://amindi.ge/akhaltsikhe/ახალციხე">ახალციხე</option>
<option value="https://amindi.ge/batumi/ბათუმი">ბათუმი</option>
</select>
<p><input value="ძიება" type="SUBMIT"></p>
</form>
<ol>
{% for items in all_items %}
<li>{{items.find("div", {"class":"t25"}).text}}</li>
<li>{{items.find("div", {"class":"t252"}).text}}</li>
<li>{{items.find("div", {"class":"tmp25"}).text.strip()}}</li>
{% for items in time_items %}
<li>{{items.find("div", {"class":"info_txt"}).text}}</li>
<li>{{items.find("div", {"class":"info_tmp"}).text}}</li>
{% endfor %}
{% endfor %}
</ol>
{% endblock %}在和ol中很清楚没有输出任何东西...我已经尝试了很多东西,但是得到了错误和其他东西,谢谢
发布于 2020-04-19 04:50:40
您需要将模板放在名为weather.html的目录中。这是我修改过的文件,它工作得很完美。如下所示更改app.py:
from flask import Flask, render_template, request ,escape
import requests
from bs4 import BeautifulSoup
app = Flask(__name__)
@app.route('/',methods=['GET'])
def home():
return render_template("weather.html")
@app.route('/weather', methods=['POST'])
def weather():
selected_city = request.form.get('manu')
r = requests.get(selected_city,timeout=10)
c = r.content
soup = BeautifulSoup(c,"html.parser")
all_items = soup.find_all("div", {"class","cont25"})
time_items = soup.find_all("div",{"cass","24_in"})
return render_template("weather.html",all_items=all_items,time_items=time_items)
if __name__ == '__main__':
app.run(debug=True)然后更改您的weather.html (记得将其放入templates文件夹),如下所示:
<form method="POST" action="weather">
<select name="manu" id="the_select" style="margin-right: 6px;">
<option>აირჩიე ქალაქი</option>
<option value="https://amindi.ge/city/abastumani/აბასთუმანი">აბასთუმანი</option>
<option value="https://amindi.ge/city/akhaltsikhe/ახალციხე">ახალციხე</option>
<option value="https://amindi.ge/city/batumi/ბათუმი">ბათუმი</option>
</select>
<p><input value="ძიება" type="SUBMIT"></p>
</form>
<ol>
{% for items in all_items %}
<li>{{items.find("div", {"class":"t25"}).text}}</li>
<li>{{items.find("div", {"class":"t252"}).text}}</li>
<li>{{items.find("div", {"class":"tmp25"}).text.strip()}}</li>
{% for items in time_items %}
<li>{{items.find("div", {"class":"info_txt"}).text}}</li>
<li>{{items.find("div", {"class":"info_tmp"}).text}}</li>
{% endfor %}
{% endfor %}
</ol>

https://stackoverflow.com/questions/61295220
复制相似问题