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/')
    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/')
    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'>
相关推荐
2分钟速写快排1 小时前
什么是 RAG?如何用 RAG 实现一个用户记忆?
前端·后端·ai编程
面向Google编程1 小时前
Apache Iceberg Variant 类型:v3 半结构化数据不再「二选一」
大数据·后端
jason成都2 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
泡海椒2 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
一米阳光86612 小时前
软考高级【信息系统项目管理师】高项重要考点(3)高级项目管理-下 助你顺利上岸!
笔记·职场发展·软考·信息系统项目管理师·高级职称
hqyjzsb2 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
dianziyao_2 小时前
第 4.1 篇:让 Codex 理解你的双链——AI 辅助发现笔记间的关联
人工智能·笔记
sanjiaomao3333 小时前
从论文公式到Python实现:用单元测试校验滑动平均算法
python·算法·单元测试
北岛贰3 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
linweidong5 小时前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理