新手,在用flask做一个小小的项目,遇到了难题,就是我后端往前端传值,从接口里获取的值传到前台却不显示,f12显示是有接收到的,但就是不忘页面上渲染,可如果我直接把值定死的话,就可以显示出来,这到底是是什么问题,求大佬帮忙
从接口接收值
后台代码:
from flask import Flask,render_template,request
import requests
app = Flask(__name__)
app.debug = True
key = "1ee7102878b94eb78ee10fa496729c10"
@app.route('/',methods=["GET","POST"])
def home():
province = request.form.get("province")
city = request.form.get("city")
data = {
"city": city,
"province": province
}
return render_template("home.html", **data)
if __name__ == '__main__':
app.run()
前台代码:
<div class="search">
<form action="/home" method="POST" id="form">
<input type="text" name="province" class="keywords" placeholder="输入要搜索的省">
<input type="text" name="city" class="keywords" placeholder="输入要搜索的市">
<button class="search-btn" type="submit"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>
</form>
<span class="sm-title">{{ city }}</span>
<p class="city-search"><b>{{ province }}</b><span id="btn-search" class="glyphicon glyphicon-search" aria-hidden="true"></span></p>
</div>
运行结果:
f12:
自己设定值
后端代码:
from flask import Flask,render_template,request
import requests
app = Flask(__name__)
app.debug = True
key = "1ee7102878b94eb78ee10fa496729c10"
@app.route('/',methods=["GET","POST"])
def home():
province = "山西省"
city = "运城市"
data = {
"city": city,
"province": province
}
return render_template("home.html", **data)
if __name__ == '__main__':
app.run(debug=True)
前端代码无变化
运行结果:
你在视图函数输出data,看看数据是否为空
你这浏览器打开链接是GET 你的 province = request.form.get("province") 语句是 POST的表单 请求
你要用 province = request.args.get("province") 来获取浏览器的参数 然后访问链接 http://127.0.0.1:5000/?city=CITY&province=PROVINCE
就能捕获到值
@app.route('/', methods=["GET", "POST"])
@app.route('/home', methods=["GET", "POST"])
def home():
# GET的请求参数
province1 = request.args.get("province")
city1 = request.args.get("city")
#POST传入的值
province2 = request.form.get("province")
city2 = request.form.get("city")
province = province1 or province2
city = city1 or city2
data = {
"city": city,
"province": province
}
return render_template("home.html", **data)
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632