Flask:URL定义管理

app.py

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

在成功配置了基本的flask环境之后,我们运行了app.py程序。在这个程序里,他为我们开启了本地服务器,并建立端口,我们的URL是这样的

http://127.0.0.1:5000/

作为python中常用的后端框架,flask究竟是怎样定义URL的呢?

from flask import Flask
app = Flask(__name__)

此为初始化flask,并构造连接app。在这里,app的理解有很多种说法,但当你看到了以下代码时

@app.route('/')

app会很容易的理解为一个操作对象,.route应该为对app这个对象的一种操作方案。
既然想操作一个对象,那么就不可或缺的要进行初始化了不是吗。

@app.route('/')
def hello_world():
    return 'Hello World!'

这一部分,总的含义为:定义'/'这个URL所对应的方案为hello_world。

学习过python的会知道,def和其他编程语言的函数function有类似的含义。不过从笔者的角度来说,我更喜欢叫他方案。

作为合格的后端编程语言,flask必须拥有与前端交互的能力,那么该如何交互呢?很多时候都是通过return的值进行的。

在这里我们新建一个HTML文件,命名为hello.html。

在这里请记住,flask框架中的.html文件应该存在templates文件夹中,如图所示:

 
17084259-c7d1f1e98a6915d5.png
hello.png

在html中我们将其改为如下所示

扫描二维码关注公众号,回复: 11374066 查看本文章
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hello!This is my test for flask!</title>
</head>
<body>

</body>
</html>

回到app.py,此时我们将return的值进行修改。

from flask import Flask,render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
    return render_template('hello.html')


if __name__ == '__main__':
    app.run()

别忘了,从flask中导入的方案改变了!

render_template这个方案在这里是用来进行前后端交互的,他会使得方案hello_world返回到一个.html文件处。
至于

if __name__ == '__main__':
    app.run()

很好理解,我得让这个程序跑起来吧!
有的时候也会写成这样:

if __name__ == '__main__':
    app.run(debug =True )

这里是开启了debug模式,debug堪称程序员的救命稻草。

所以在以后的编写中,大家不妨都将debug模式开启吧。

测试一下我们编写的成果!

返回的网站什么都没有,这是因为在body中我们什么都没写。但是

 
17084259-374d2a6f3aefbb50.png
图片.png

在浏览器中,你的标题被修改了!会发现,正是我们之前设置的字符串。

与.html文件的交互成功啦!

猜你喜欢

转载自blog.csdn.net/HizT_1999/article/details/103041269
今日推荐