前言
4月就要待业家中,经过一两天的踌躇,觉着这其实是一个蛮好的学习与重新调整的机会,后面学习是不会有人提供薪水了,那自然可以更自由些。不过漫无目的的学习的效率比较低,可以根据BOSS上的岗位的关键词去了解相关的技术。
自己喜欢折腾,对Python也蛮有兴趣,先学习下Flask
安装
1 | pip3 install Flask |
如果遇到网的问题,可以Google搜索pip 换源
,现在安装一些工具确实是没有什么门槛
显示下安装后的效果
1 | pip3 show Flask |
IDE安装
Trae 编辑器
另外我们也可以下载本地的开发环境 Trae,Trae 是字节跳动推出的一款面向开发者的 AI 驱动的集成开发环境(IDE)。
访问 Trae 官网 https://www.trae.com.cn
默认情况,下载按钮会自动匹配我们的电脑系统,我们也可以找到适合自己电脑操作系统的 Trae 安装包,进行下载。
Hello world
AI 自动补齐
1 | from flask import Flask |
起个本地服务
1 | python app.py |
Flask 基本概念
这部分照搬原文,概念上的东西大同小异,主要看下语法
- 路由: URL 到 Python 函数的映射
- 视图函数: 处理请求并返回响应的 Python 函数
- 请求对象: 包含了客户端发送的请求信息,如请求方法、URL、请求头、表单数据等
- 响应对象: 包含了发送给客户端的响应信息,如状态码、响应头、响应体等
- 模板:Flask 使用 Jinja2 模板引擎来渲染 HTML 模板。模板允许你将 Python 代码嵌入到 HTML 中,从而动态生成网页。
- 应用工厂:应用工厂是一个 Python 函数,它创建并返回一个 Flask 应用实例。这允许你配置和初始化你的应用,并且可以创建多个应用实例。
- 配置对象:Flask 应用有一个配置对象,你可以使用它来设置各种配置选项,如数据库连接字符串、调试模式等。
- 蓝图:蓝图是 Flask 中的一个组织代码的方式,它允许你将相关的视图函数、模板和静态文件组织在一起,并且可以在多个应用中重用。
- 静态文件:静态文件是不会被服务器端执行的文件,如 CSS、JavaScript 和图片文件。Flask 提供了一个简单的方法来服务这些文件。
- 扩展:Flask 有许多扩展,可以添加额外的功能,如数据库集成、表单验证、用户认证等。
- 会话:Flask 使用客户端会话来存储用户信息,这允许你在用户浏览你的应用时记住他们的状态。
- 错误处理:Flask 允许你定义错误处理函数,当特定的错误发生时,这些函数会被调用。
路由 (Routing)
1 | from flask import Flask |
视图函数 (View Functions)
1 | @app.route('/greet/<name>') |
greet
就是视图函数
请求对象 (Request Object)
1 | from flask import request |
要有个提交表单的操作才能串起来,看下面涉及到flask里python和html混合的处理逻辑
响应对象 (Response Object)
响应对象包含了发送给客户端的响应信息,包括状态码、响应头和响应体。Flask 默认会将字符串、HTML 直接作为响应体。
1 | from flask import make_response |
模板 (Templates)
Flask 使用 Jinja2 模板引擎来渲染 HTML 模板。模板允许你将 Python 代码嵌入到 HTML 中,从而动态生成网页内容。
1 | from flask import render_template |
1 | <!DOCTYPE html> |
直接访问 http://127.0.0.1:5000/render/Wang
报找不到模板
看了下模板文件要放在templates
目录下,新建后,将render_name.html移动到该目录下,重新刷新页面,正常显示
应用工厂 (Application Factory)
应用工厂是一个 Python 函数,用于创建和配置 Flask 应用实例。这种方法允许你创建多个应用实例,或者在不同配置下初始化应用。
1 | from flask import Flask |
应该是针对不同环境
配置对象 (Configuration Objects)
配置对象用于设置应用的各种配置选项,如数据库连接字符串、调试模式等。可以通过直接设置或加载配置文件来配置 Flask 应用。
1 | class Config: |
蓝图 (Blueprints)
蓝图是 Flask 中的组织代码的方式。它允许你将相关的视图函数、模板和静态文件组织在一起,并且可以在多个应用中重用。
1 | from flask import Blueprint |
注册蓝图 (app/__init__.py
):
1 | from flask import Flask |
静态文件 (Static Files)
静态文件是不会被服务器端执行的文件,如 CSS、JavaScript 和图片文件。Flask 提供了一个简单的方法来服务这些文件。
1 | <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}"> |
静态文件目录:将静态文件放在 static 文件夹中,Flask 会自动提供服务。
扩展 (Extensions)
Flask 有许多扩展,可以添加额外的功能,如数据库集成、表单验证、用户认证等。这些扩展提供了更高级的功能和第三方集成。
1 | from flask_sqlalchemy import SQLAlchemy |
会话 (Sessions)
Flask 使用客户端会话来存储用户信息,以便在用户浏览应用时记住他们的状态。会话数据存储在客户端的 cookie 中,并在服务器端进行签名和加密。
1 | from flask import session |
错误处理 (Error Handling)
Flask 允许你定义错误处理函数,当特定的错误发生时,这些函数会被调用。可以自定义错误页面或处理逻辑。
1 | @app.errorhandler(404) |