您的位置:首页 > 其它

【Flask】(LV.0) Flask的简单使用

2015-01-26 17:10 134 查看

『由于本人才疏学浅,本文不能当作教程帖以免误导大家,下列内容仅对我自己适用。如果大家遇到类似的情况我也很高兴能帮到大家。以上。』

系统:windows 7 x86

版本:Python 3.3

包管理工具:Pip

●安装Flask框架

在命令行中输入:pip install flask。
等待下好框架即可使用。

●创建一个超级简单的例子

打开一个记事本写入下列代码:
from flask import Flask#引入flask框架,前面必须小写代表文件名,后面必须大写代表类名
app = Flask(__name__)#创建一个实例

@app.route('/')#设置Flask路由,如果遇到"/"这样的url就使用下面的hello处理请求。
def hello_world():
return 'Hello Python!'

if __name__ == '__main__':#确保服务器只会在该脚本被Python解释器直接执行时而不是作为模块导入时才会运行。
app.run()</span>
将它保存为一个helloPython.py文件,然后在当前文件夹的命令行中输入:python
helloPython.py
此时如果看到窗口显示如下,则程序启动起来了:
* Running on http://127.0.0.1:5000/</span>[/code]现在你浏览http://127.0.0.1:5000,则可以看到Hello Python的问候了。
当然,如果你想停止服务时,只需要在命令行窗口中按Ctrl+C即可停止。

●创建一个非常简单的例子

打开一个记事本写入下列代码:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
response = "<html>\n"
response += "<title>Flask Test</title>\n"
response += "<body>\n"
response += "<h2>Hello World\n</h2>"
response += "</body>\n"
response += "</html>\n"
return response

if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080, debug=True)</span>

将它保存为一个hello.py文件,然后在当前文件夹的命令行中输入:python hello.py
此时如果这次看到窗口显示如下,则程序启动起来了:
* Running on http://0.0.0.0:8080/ * Restarting with reloader</span>
现在你浏览http://127.0.0.1:8080,则可以看到Hello World的问候了。

而这里host='0.0.0.0'表示让你的操作系统监听所有公开IP。
port=8080是指定了你的端口号为‘8080’,当然你随便使用什么端口号,尽量避免80端口。
run()方法适用于启动本地开发服务器,但需要修改代码后手动重启服务器。debug=True可以启动调试支持,在代码修改的时候自动加载,且如果发生错误会提供一个有用的调试器。

●创建一个很简单的例子

我们按照上面的例子将会特别繁琐,大堆的html代码混杂在Python代码中,难以维护,所以我们可以使用模版机制。

打开一个记事本写入下列代码:
<html>
<head>
<title>Flask Test</title>
</head>
<body>
<h2>Hello World2</h2>
</body>
</html>
保存为一个helloworld.html文件放入tempaltes文件夹中。再打开一个记事本写入以下代码:
from flask import Flask
from flask import render_template#这里引入了render_template的方法
app = Flask(__name__)
@app.route('/')
def hello():
return render_template("helloworld.html")#这里渲染了html文件,没有带入任何参数

if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080, debug=True)
将它保存为一个hello2.py文件,然后在当前文件夹的命令行中输入:python
hello2.py

当它启动后就可以看到Hello world2的字样。
当然有些猴儿们会出现找不到模版的错误,是因为模版和python程序的位置不对。
应该让hello2.py文件和tempaltes文件夹在同一个目录。
一步步将自己的代码变得强大了之后,是不是感觉简单的Flask已经学会了吧。

●创建一个简单的例子

这里可以看到一个有点好玩的戏法。
写一个记事本如下:
<html>
<head>
<title>
Flask Test
</title>
</head>
<body>
<h2>Hello {{name}}</h2>
</body>
</html>
命名为helloworld2.html,然后再写你的Python代码:
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
if name == None:
name = "AceCandy"
templateDate = {'name':name};#定义了一个python字典,这个字典只有一个键值对(‘键名称’:具体变量)
return render_template("helloworld2.html",**templateDate);#表示任意个数有名称的参数,这里可以写成render_template("hello.html", name=name)
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080, debug=True)
@app.route('/hello/')

@app.route('/hello/<name>') 这里hello函数处理了2个URL

templateDate = {'name':name};定义了一个python字典,这个字典只有一个键值对(‘键名称’:具体变量)
**templateDate表示任意个数有名称的参数,这里可以写成render_template("hello.html", name=name)
然后保存为hello3.py在命令行中运行之后:



当你输入网址为localhost:8080/hello/SB时,程序又读取了其中的name,变成了这样:



●参考资料

/article/2600978.html
http://www.pythondoc.com/flask/quickstart.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: