栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据子网域进行路由的Flask应用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据子网域进行路由的Flask应用

@app.route()
接受
subdomain
参数以指定路由要匹配的子域。
Blueprint
还接受一个
subdomain
参数来为蓝图中的所有路由设置子域匹配。

您必须设置

app.config['SERVER_NAME']
为基本域,以便Flask知道要匹配的内容。除非您的应用程序在端口80或443上运行(即在生产中),否则您还需要指定端口。

从Flask 1.0开始

subdomain_matching=True
,创建应用程序对象时还必须进行设置。

from flask import Flaskapp = Flask(__name__, subdomain_matching=True)app.config['SERVER_NAME'] = "example.com:5000"@app.route("/")def index():    return "example.com"@app.route("/", subdomain="eggs")def egg_index():    return "eggs.example.com"ham = Blueprint("ham", __name__, subdomain="ham")@ham.route("/")def index():    return "ham.example.com"app.register_blueprint(ham)

在本地运行时,您需要编辑计算机的主机文件(

/etc/hosts
在Unix上),以便它知道如何路由子域,因为这些域实际上并不存在于本地。

127.0.0.1 localhost example.com eggs.example.com ham.example.com

记得还是在指定浏览器中的端口,

http://example.com:5000
http://eggs.example.com:5000
,等。

同样,在部署到生产环境时,您需要配置DNS,以使子域与基本名称路由到同一主机,并配置Web服务器将所有这些名称路由到应用程序。

请记住,所有Flask路线实际上都是的实例

werkzeug.routing.Rule
。查阅Werkzeug的文档
Rule
将向您展示Flask的文档掩盖了路由可以做的很多事情(因为Werkzeug已经对其进行了充分的记录)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669826.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号