技术文摘
Flask中url_for()生成包含端口号URL的方法
Flask中url_for()生成包含端口号URL的方法
在Flask应用开发中,url_for() 函数是一个非常有用的工具,它用于生成URL。然而,有时候我们需要生成包含端口号的URL,本文将介绍如何在Flask中使用 url_for() 函数来实现这一需求。
我们需要了解 url_for() 函数的基本用法。它接受一个视图函数的名称作为参数,并返回该视图函数对应的URL。例如,我们有一个名为 index 的视图函数,我们可以使用 url_for('index') 来获取它的URL。
默认情况下,url_for() 生成的URL不包含端口号。如果我们的Flask应用运行在非标准端口上,并且需要在生成的URL中包含端口号,我们可以通过设置 SERVER_NAME 配置项来实现。
在Flask应用的配置文件或代码中,我们可以添加以下配置:
from flask import Flask
app = Flask(__name__)
app.config['SERVER_NAME'] = 'localhost:5000' # 这里将端口号设置为5000
在上述代码中,我们将 SERVER_NAME 配置项设置为 localhost:5000,其中 localhost 是主机名,5000 是端口号。设置好 SERVER_NAME 后,url_for() 函数生成的URL就会包含端口号。
例如,我们有以下视图函数:
@app.route('/')
def index():
return 'Hello, World!'
@app.route('/user/<username>')
def user_profile(username):
return f'User profile: {username}'
在模板文件中,我们可以使用 url_for() 函数生成包含端口号的URL:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Flask URL with Port</title>
</head>
<body>
<a href="{{ url_for('index') }}">Home</a>
<a href="{{ url_for('user_profile', username='john') }}">John's Profile</a>
</body>
</html>
通过上述设置,生成的URL将会包含端口号,例如 http://localhost:5000/ 和 http://localhost:5000/user/john。
在Flask中使用 url_for() 生成包含端口号的URL,只需要设置好 SERVER_NAME 配置项即可。这样可以确保在非标准端口上运行的Flask应用能够正确生成包含端口号的URL,方便用户访问和使用。
- 或许是最完备的反爬虫及应对策略
- 下个十年 Python 的“王者”地位能否保住
- 15 款 Python 编辑器的优劣分析 不再为选编辑器而烦恼
- Express 源码的三步解析法
- React 与 Vue 创建应用的差异对比
- 27 个能提升开发幸福感的 VsCode 插件
- 深入剖析 Node.js 中的 Require 机制
- Python 构建与可视化决策树
- 13 张图让你明晰分布式系统服务注册与发现原理
- 天天谈性能优化,究竟在优化啥?
- Java 装箱与拆箱的深度剖析
- Java 助力深度学习模型训练,竟如此简单!
- GitHub 上拥有 3.2K Star 的 Java 图片缩略图生成库
- Guava - 让垃圾代码蜕变,实现优雅高效,效率猛增 N 倍
- Python 初学者必知:勿直接运行 python 命令,电脑恐“裸奔”