怎么做打鱼网站广东东莞新闻最新消息

张小明 2026/3/13 11:24:59
怎么做打鱼网站,广东东莞新闻最新消息,商务办公名片,昆明网站建站运行一个flask 项目下创建运行文件,名字可以是app.py/run.py/main.py/index.py/manage.py/start.py # 1. 导入flask核心类 from flask import Flask# 2. 初始化web应用程序的实例对象 app Flask(__name__)# 4. 可以通过实例对象app提供的route路由装饰器#xff0c;绑定视图…运行一个flask项目下创建运行文件,名字可以是app.py/run.py/main.py/index.py/manage.py/start.py# 1. 导入flask核心类 from flask import Flask # 2. 初始化web应用程序的实例对象 app Flask(__name__) # 4. 可以通过实例对象app提供的route路由装饰器绑定视图与uri地址的关系 app.route(/) def index(): # 5. 默认flask支持函数式视图视图的函数名不能重复否则报错 # 视图的返回值将被flask包装成响应对象的HTML文档内容返回给客户端。 return h1hello flask/h1 if __name__ __main__: # 3. 运行flask提供的测试web服务器程序 app.run(host0.0.0.0, port5000, debugTrue)Flask类的实例化参数def __init__( self, import_name: str, static_url_path: str | None None, static_folder: str | os.PathLike[str] | None static, static_host: str | None None, host_matching: bool False, subdomain_matching: bool False, template_folder: str | os.PathLike[str] | None templates, instance_path: str | None None, instance_relative_config: bool False, root_path: str | None None, ):import_name Flask程序所在的包(模块)传 __name__ 就可以 , 其可以决定 Flask 在访问静态文件时查找的路径static_path 静态文件存储访问路径(不推荐使用使用 static_url_path 代替)static_url_path 静态文件的url访问路径可以不传默认为/ static_folderstatic_folder 静态文件存储的文件夹可以不传默认为 statictemplate_folder 模板文件存储的文件夹可以不传默认为 templates终端运行Flask项目命令终端行执行# 如果要基于开发环境在终端启动项目设置环境变量如下 export FLASK_DEBUGTrue # 如果要基于生产环境在终端启动项目设置环境变量如下 # export FLASK_DEBUGFlase # 找到创建flask应用的模块路径例如manage.py # 则ubuntu等Linux下的终端 export FLASK_APPmanage.py # 这是临时设置如果有永久设置可以通过/etc/profile保存 # 2. 在当前虚拟环境中如果安装了flask模块则可以使用全局命令flask run即可运行flask项目 flask run # 采用默认的127.0.0.1 和 5000端口运行项目 flask run --host0.0.0.0 --port8088 # 可以改绑定域名IP和端口flask加载项目配置的五种方式1. 从 Python 文件加载配置from flask import Flask app Flask(__name__) app.config.from_pyfile(config.py) # 配置文件名为 config.py注意config.py文件应包含大写字母的键值对例如DEBUG True SECRET_KEY your_secret_key2.通过from_object()方法从类或模块中加载配置class Config: DEBUG True SECRET_KEY your_secret_key app.config.from_object(Config)3.使用from_envvar()方法从环境变量指定的文件中加载import os os.environ[APP_SETTINGS] /path/to/config.py app.config.from_envvar(APP_SETTINGS)4.通过from_json()方法从 JSON 文件中加载app.config.from_json(config.json){ DEBUG: true, SECRET_KEY: your_secret_key }升级到 Flask 2.0 后使用时会出现以下错误app.config.from_json()AttributeError: Config object has no attribute from_json5.直接使用from_mapping()方法从字典中加载config { DEBUG: True, SECRET_KEY: your_secret_key } #app.config.update(config) app.config.from_mapping(config)路由的基本定义Flask中的路由主要通过装饰器的方式定义最常用的是app.route()装饰器。这种方式简洁明了将URL规则直接与视图函数关联。路由和视图的名称必须全局唯一不能出现重复否则报错。# 1. 导入flask核心类 from flask import Flask # 2. 初始化web应用程序的实例对象 app Flask(__name__) # 开启debug模式 app.config[DEBUG] True # 参数1rule设置当前视图的路由地址 # 惨呼2methods设置当前视图的HTTP请求方法允许一个或多个方法不区分大小写 app.route(rule/, methods[get, post]) def index(): return h1hello flask1/h1 ​ app.route(/about) def about(): # 返回值如果是字符串被自动作为参数传递给response对象进行实例化返回客户端 return 关于我们页面 ​ if __name__ __main__: # 3. 运行flask提供的测试web服务器程序 app.run(host0.0.0.0, port5000)路由分离管理对于大型项目可以将路由分离到单独的文件中管理创建routes.py文件from flask import Blueprint main Blueprint(main, __name__) main.route(/) def index(): return 首页在主应用中注册路由from flask import Flask from routes import main app Flask(__name__) config { DEBUG : True } app.config.from_mapping(config) app.register_blueprint(main, url_prefix/user) if __name__ __main__: app.run(host0.0.0.0, port5000)路由参数 路由参数的传递 小括号圈住里面写上参数变量名 在视图中即可通过参数列表按命名来接收 接收参数时如果没有在设置路由中设置参数的类型则默认参数类型为字符串类型 app.route(/goods/cid/gid) def goods(gid, cid): print(gid, type(gid)) print(cid, type(cid)) return f显示cid{cid},gid{gid}的商品信息接收限定类型参数限定路由参数的类型flask系统自带转换器编写在werkzeug/routing/converters.py文件中。底部可以看到以下字典# converters用于对路由中的参数进行格式转换与类型限定的 DEFAULT_CONVERTERS: t.Mapping[str, t.Type[BaseConverter]] { default: UnicodeConverter, # 默认类型也就是string string: UnicodeConverter, # 字符串不包含 / any: AnyConverter, # 任意类型 path: PathConverter, # 也是字符串但是包含了 / int: IntegerConverter, float: FloatConverter, uuid: UUIDConverter, }系统自带的转换器具体使用方式在每种转换器的注释代码中有写请留意每种转换器初始化的参数。转换器名称描述string默认类型接受不带斜杠的任何文本int接受正整数float接受正浮点值path接收string但也接受斜线uuid接受UUID通用唯一识别码字符串 xxxx-xxxx-xxxxx-xxxxx代码 通过路由转换器来对路由参数显示格式转换和限制类型 app.route(/goods/float:cid/int:gid) def goods(gid, cid): print(gid, type(gid)) print(cid, type(cid)) return f显示cid{cid},gid{gid}的商品信息自定义路由转换也叫正则匹配路由参数.在 web 开发中可能会出现限制用户访问规则的场景那么这个时候就需要用到正则匹配根据自己的规则去限定请求参数再进行访问具体实现步骤为导入转换器基类BaseConverter在 Flask 中所有的路由的匹配规则都是使用转换器对象进行记录自定义转换器自定义类继承于转换器基类BaseConverter添加转换器到默认的转换器字典DEFAULT_CONVERTERS中使用自定义转换器实现自定义匹配规则代码实现导入转换器基类from werkzeug.routing.converters import BaseConverter自定义转换器单一匹配规则可以直接这样写class RegexConverter(BaseConverter): self.regex 1[3-9]\d{9}class RegexConverter(BaseConverter): def __init__(self, map, *args, **kwargs): super().__init__(map, *args, **kwargs) self.regex args[0]添加转换器到默认的转换器字典中并指定转换器使用时名字为: reapp.url_map.converters[re] RegexConverter使用转换器去实现自定义匹配规则当前此处定义的规则是手机号码 自定义路由转换[在实际项目开发中我们会单独准备一个python文件来保存转换器的定义代码] from werkzeug.routing.converters import BaseConverter class RegexConverter(BaseConverter): def __init__(self, map, *args, **kwargs): super().__init__(map, *args, **kwargs) self.regex args[0] app.url_map.converters[re] RegexConverter app.route(/sms/re(1[3-9]\d{9}):mobile) def sms(mobile): return f发送短信给手机号{mobile}的用户 app.route(/goods/re(\d):id) def goods(id): return f显示商品id{id}的信息Flask常用第三方扩展包Flask-SQLAlchemy操作数据库,ORMFlask-script终端脚本工具脚手架 ( 淘汰官方内置脚手架Click)Flask-migrate管理迁移数据库Flask-SessionSession存储方式指定Flask-Mail邮件Flask-Login认证用户状态django内置Auth模块用于实现用户登录退出Flask-OpenID认证, OAuth三方授权Flask-RESTful开发REST API的工具Flask JSON-RPC: 开发json-rpc远程服务[过程]调用Flask-Bable提供国际化和本地化支持翻译Flask-Moment本地化日期和时间Flask-Admin简单而可扩展的管理接口的框架Flask-Bootstrap集成前端Twitter Bootstrap框架前后端分离除了admin站点基本不用这玩意Flask-WTF表单生成模块前后端分离除了admin站点基本不用这玩意Flask-Marshmallow序列化类似djangorestframework的序列化器可以通过 https://pypi.org/search/?cFramework%3A%3AFlask 查看更多flask官方推荐的扩展
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

.net电影网站开发企业手机网站建设价位

Linly-Talker:当数字人站上退休欢送会的讲台 在一场特别的退休欢送会上,一位“员工”走上讲台,面容温和、语气真挚地回顾着老同事三十余年的职业生涯。他不是真人,却让全场动容——眼神有光,唇齿随语流自然开合&#…

张小明 2026/3/5 5:01:27 网站建设

天津做网站联系方式nginx wordpress动静分离

你是否曾因更换输入法而苦恼于词库无法迁移?深蓝词库转换作为一款开源免费的输入法词库转换程序,正是为解决这一痛点而生。它支持超过20种输入法格式的互转,让你的个性化词库在不同设备和平台间自由流转。😊 【免费下载链接】imew…

张小明 2026/3/5 5:01:28 网站建设

曲靖网站推广现代电子商务网站建设技术

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个2258xt量产工具的实战应用演示项目。包含:1.模拟U盘生产线场景 2.展示完整量产流程(识别-擦除-烧录-校验) 3.常见问题解决方案库 4.生产数据统计分析面板 5.生成…

张小明 2026/3/5 5:01:30 网站建设

音乐网站开发背景及意义网站后端怎么做

桌面环境与System V打印系统全解析 在计算机的使用过程中,打印是一项常见且重要的功能。不同的桌面环境和打印系统有着各自的特点和使用方法,下面将为大家详细介绍桌面环境中的打印以及System V打印系统的相关内容。 桌面环境打印 在进行桌面环境的打印管理时,推荐使用原…

张小明 2026/3/5 5:01:31 网站建设

浙江建筑信息网站虹口高端网站建设

为什么开发者都在关注EmotiVoice?这5大特性太惊艳 在智能语音助手越来越“懂人心”的今天,用户早已不再满足于那种一字一顿、毫无波澜的机械朗读。你有没有注意到,当你对语音助手发脾气时,它如果还用平静到近乎冷漠的语气回应&…

张小明 2026/3/5 5:01:32 网站建设

青岛vps网站兰州新区最新消息

数据恢复神器TestDisk:如何用3个关键步骤找回你丢失的所有文件? 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 当珍贵的照片、重要的工作文档、多年的回忆突然从硬盘中消失时&#x…

张小明 2026/3/5 5:01:32 网站建设