1.debug、host、port 模式修改

1) debug模式

默认debug模式是off,在修改代码调试过程中需要暂停重启使用,这时可修改on模式解决。

同时在debug模式开启下可看到出错信息。

下面有关于Pycharm社区版和专业版修改debug模式的区别

专业版

社区版:

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

对比如下

host、port模式修改:

host模式的修改可使同一网络的其他电脑访问本IP,port模式的修改避免同一端口被程序占用。

专业版编辑,社区版同上使用app.run(port='***',host='***')

运行结果:

url文件的配置

1) 使用路由传值方式,语法:@app.route(‘/book/’)def hello_world(id):return ‘Hello {}!’.format(id)

2) 查询字符串方式传值,语法:request.args.get(…)

@app.route('/book/list')def book_list():page = request.args.get('page',default=1,type=int)return 'this page value: {}!'.format(page)

3. jinja2模板使用:

from flask import Flask,request,render_templateapp = Flask(__name__)@app.route('/book/')def hello_world(id):# return 'Hello {}!'.format(id)return render_template('index.html',id = id,username ='pass')

运行结果:

html 的语法:{{ … }}

当前页ID: {{ page }},用户名:{{ username }}

过滤器使用 语法:{{ xxx | length }}

  • {{ xxx | list }}
  • {{ xxx | lower }}
  • {{ xxx | safe }}
  • {{ xxx | reverse }}

自定义过滤器使用

from datetime import datetimedef datetime_format(value,format= '%Y-%d-%m %H:%M'):return value.strftime(format)app = Flask(__name__)app.add_template_filter(datetime_format,'dformat')# 绑定过滤器名称@app.route('/book/list')def book_list():mytime = datetime.now()print(mytime)return render_template('index.html',mytime=mytime)# web 应用{{ mytime|dformat }}

if for 模板应用
语法:

{{% if xxx > 10 %}}{{% elif xxx==10 %}}{{% else %}}{{% endif %}}
{{% for x in xxx %}}{{% endfor %}}

模板继承语法

{% extends 'xxx.html' %}{% block xxx %}{% endblock %}

静态文件加载

语法:

<img class="aligncenter" src="https://img.maxssl.com/uploads/?url={{ url_for('static',filename=" />