我使用蓝图设置了一个 Flask 应用程序,以使其在子域上工作。主文件如下所示:
app = Flask(__name__,subdomain_matching=True)
app.config.from_object(config_class)
# register blueprints
from app.main import bp as bp_main
app.register_blueprint(bp_main, subdomain='<user>')
from app.dash import bp as bp_dashapps
app.register_blueprint(bp_dashapps, subdomain='<user>')
然后在我的 index.html 文件中,我对静态文件有以下引用
<link rel="stylesheet" href="{{url_for('static', filename='css/main.css')}}">
这样的服务:
<link rel="stylesheet" href="http://flask-subdomain.com:5000/static/css/main.css">
问题是我希望在子域上而不是在主域上提供静态文件。我希望 href 为 http://app.flask-subdomain.com/...
我尝试过执行 app = Flask(__name__,subdomain_matching=True, static_url=None)
,然后手动添加静态 url 并相应地更改 url_for
:
app.add_url_rule('/static/<path:filename>',
endpoint='static',
subdomain="<user>",
view_func=app.send_static_file)
但这也不起作用,因为它仍然在 flask-subdomain.com 而不是 app.flask-subdomain.com 上提供服务
任何帮助将不胜感激!