首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Html中的Flask Python函数

Html中的Flask Python函数
EN

Stack Overflow用户
提问于 2020-04-19 03:42:22
回答 1查看 39关注 0票数 0

你好,我正在做项目,我被困在那里了,当我做这个Python代码时,我什么也得不到

代码语言:javascript
运行
复制
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文件

代码语言:javascript
运行
复制
{% 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中很清楚没有输出任何东西...我已经尝试了很多东西,但是得到了错误和其他东西,谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2020-04-19 04:50:40

您需要将模板放在名为weather.html的目录中。这是我修改过的文件,它工作得很完美。如下所示更改app.py:

代码语言:javascript
运行
复制
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文件夹),如下所示:

代码语言:javascript
运行
复制
<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>

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61295220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档