Flask基础学习

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/<id>')
    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)

  1. jinja2模板使用:

    from flask import Flask,request,render_template

    app = Flask(name)

    @app.route('/book/<id>')
    def hello_world(id):
    # return 'Hello {}!'.format(id)
    return render_template('index.html',id = id,username ='pass')

运行结果:

html 的语法:{{ ... }}

复制代码
    <title>当前页ID: {{ page }},用户名:{{ username }}</title>

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

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

自定义过滤器使用

复制代码
from datetime import datetime
def 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 应用
<title>{{ mytime|dformat }}</title>

if for 模板应用

语法:

复制代码
{{% if xxx > 10 %}}

{{% elif xxx==10 %}}

{{% else %}}

{{% endif %}}

{{% for x in xxx %}}

{{% endfor %}}

模板继承语法

复制代码
{% extends 'xxx.html' %}

{% block xxx %}

{% endblock %}

静态文件加载

语法:

复制代码
<img src="{{ url_for('static',filename="images/test.png") }}" alt ='pic test'>
相关推荐
浪子不回头4157 分钟前
推理建模学习笔记
笔记·学习
代码游侠10 分钟前
应用——基于Linux的音乐播放器项目
linux·运维·笔记·学习·算法
Yyyyy123jsjs17 分钟前
Python 如何做量化交易?从行情获取开始
开发语言·python
汤姆yu21 分钟前
基于springboot的林业资源管理系统
java·spring boot·后端
长安牧笛22 分钟前
制作无人直播文案生成工具,输入直播主题,产品信息,自动生成直播文案,支持一键复制
python
软件管理系统23 分钟前
基于Spring Boot的医疗服务系统的设计与实现
java·spring boot·后端
周小码25 分钟前
Spacedrive:用Rust构建的虚拟分布式文件系统
开发语言·后端·rust
廋到被风吹走32 分钟前
【Spring】DefaultListableBeanFactory 详解
java·python·spring
子夜江寒33 分钟前
Python 操作 MySQL 数据库
数据库·python·mysql
文心快码BaiduComate38 分钟前
用Spec给AI Agent立规矩,AI编码告别手忙脚乱
前端·后端·前端框架