有没有大佬能做出图中的效果,源码在下面,不会组合
服务器程序app.py
from flask import Flask, render_template, request
app = Flask(name)
@app.route('/')
def index():
uname = request.values.get('uname') if 'uname' in request.values else ''
return render_template('index.html', uname=uname)
if name == 'main':
app.run(debug=True)
<!-- templates\index.html -->
<!DOCTYPE html>
<html>
<head>
<title>flask模板</title>
</head>
<body>
<h3>{{ uname }} 您好,这是首页</h3>
<a href="/login">登录</a>
</body>
</html>
客户端程序client.py
import urllib.request as rq
import urllib.parse as pa
url = 'http://127.0.0.1:5000'
def getindex():
try:
uname = pa.quote('张三')
data = 'uname=%s' % uname
html = rq.urlopen(url + '?' + data).read().decode('utf-8')
print(html)
except Exception as e:
print(e)
if name == 'main':
getindex()
print('END')
搞不懂,都在哪找的奇奇怪怪的教程
# demo/app.py
from flask import Flask, render_template, request
app = Flask(__name__,
static_folder='static',
template_folder='templates')
@app.route('/')
def index():
uname = request.values.get('uname') if 'uname' in request.values else ''
return render_template('index.html', uname=uname)
if __name__ == '__main__':
app.run(debug=True)
<br>
<!-- demo/templates/index.html -->
<!DOCTYPE html>
<html>
<head>
<title>flask模板</title>
</head>
<body>
<h3>{{ uname }} 您好,这是首页</h3>
<a href="/login">登录</a>
</body>
</html>
HTTP Error 500: INTERNAL SERVER ERROR
END
运行结果
客户端那部分你就别看了,一个请求; 先把服务端搞清楚吧
flask官网、知乎李辉(Flask开发团队(Pallets Team)) 等等,都有更直观的入门教程
@AUziQaQ: 你是怎么运行的,描述或截图;
我这边是正常的
* Debugger is active!
* Debugger PIN: 299-474-681
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [13/Sep/2021 16:44:36] "GET /?uname=1 HTTP/1.1" 200 -
@韆:
@韆:
@AUziQaQ: 你自己找的教程,好好看下啊
···
data = 'uname=%s' % uname
html = rq.urlopen(url + '?' + data).read().decode('utf-8')
这里url拼接了, 而里第一张截图, pycharm 显示 'GET / HTTP1.1' 你咋啥都没拼接
···
@韆: 拼接在什么地方,真的是小白
@AUziQaQ:
拼接的都给你写好了 http://127.0.0.1:5000/?uname=1
如果还不行,就去官网重0开始学吧
你暴露的基础问题或者说习惯问题太多了
1.项目路径不要出现中文命名
2.脚本名称尽量明确含义 2.py 也太随意了
3. 我贴的代码开头都有文件层级介绍 例: demo 文件夹下 app.py 代码如下;demo/templates 文件夹下 index.html 代码如下, 你贴的第二页 jinja 的报错其实有很多知识点可以学 flask 实例化后会记录很多信息,例如 get_or_select_template 你debug时可以在该函数里面看到 模板是如何加载与拼接的
4.要不是前面一个提问白捡了 30 豆,我绝对不会打这么多
5.一步一个脚印慢慢来吧
@韆: 解决了,文件层级问题,感谢感谢