1.安装
- Linux系统
#pip install flask
- 安装好后进入Python编辑模式,
>>> import flask
看看是否会报错,如果成功则说明安装成功
2.使用方法说明
- 初始化,创建Flask实例
from flask import Flask
app = Flask(__name__)
应用实例用于处理浏览器端发送给服务器的请求
- 路由
路由(route):route()
装饰器用于把一个函数绑定到一个 URL,当用户打开这个url时,对应的函数开始工作,返回页面内容
使用方法;
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
带参数的url,如下,当输入url时,输入不同名字,页面就会返回不同的结果,其动态参数默认是string类型,当然也支持int, float和带/的路径(作为一个整体的string),这些类型需要单独的指定,如:/user/<int:id>
@app.route('/user/<name>')
def user(name):
return '<h1>Hello, %s!</h1>' % name
- 视图
上面的index()函数就是视图函数,
- 启动服务器
if __name__ == '__main__':
app.run(debug=True)
Flask类的run方法可以启动服务器,run()有几个参数可选,具体如下:
1)debug:调试模式
如果你启用了调试支持,服务器会在代码修改后自动重新载入,并在发生错误时提供一个相当有用的调试器。
有两种途径来启用调试模式。一种是直接在应用对象上设置:
app.debug = True
app.run()
另一种是作为 run 方法的一个参数传入:
app.run(debug=True)
两种方法的效果完全相同。
2)host:指定url前缀,默认是localhost
可设置如:host='hostname'
如果不设置host和端口,跑程序$ python hello.py后,可以直接打开本地http://127.0.0.1:5000/
3)port:端口,默认是5000
可设置如:port=1234,注意端口冲突
使用:app.run(host=host,port=port,debug=True)
- 渲染模板
将HTML内容提取出来,放到templates文件夹下,
使用 render_template()
方法可以渲染模板,你只要提供模板名称和需要作为参数传递给模板的变量就行了。下面是一个简单的模板渲染例子:
from flask import render_template
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
return render_template('hello.html', name=name)
- 模板的使用方法
1)模板中变量用两个{{ }},如:{{variableName}};逻辑控制和循环用{% %},如下:
{% if title%}
<title>{{title}}-microblog</title>
{%else%}
<title>Welcome to microblog</title>
{% endif %}
{% for comment in comments %}
<li>{{ comment }}</li>
{% endfor %}
2)使用继承
{% block 要继承的块名 %}{% endblock %},在父模板中定义好格式,子模板填充其内容
如下:
base.html:
<html>
<head>
{% block head %}
<title>{% block title %}{% endblock %} - My Application</title>
{% endblock %}
</head>
<body>
{% block body %}
{% endblock %}
</body>
</html>
子模板:
{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block head %}
{{ super() }}
<style>
</style>
{% endblock %}
{% block body %}
<h1>Hello, World!</h1>
{% endblock %}