Heroku:如何将静态站点生成与Python/Flask集成

Heroku:如何将静态站点生成与Python/Flask集成,python,heroku,flask,static,blogs,Python,Heroku,Flask,Static,Blogs,我正在运行一个Flask网站https://www.example.org托管在Heroku上,附带一个静态博客,https://www.example.org/blog这是我通过Hugo生成的,我希望这一过程更加高效 根据我的研究,出于搜索引擎优化的原因,将博客放在子目录中是更好的选择 我目前维护博客的工作流程如下: 用雨果写减价贴 检查Hugo和Flask应用程序之间的css等是否一致 生成静态html代码 修复链接错误等 将静态输出从hugo/public文件夹移动到flask_app/s

我正在运行一个Flask网站
https://www.example.org
托管在Heroku上,附带一个静态博客,
https://www.example.org/blog
这是我通过Hugo生成的,我希望这一过程更加高效

根据我的研究,出于搜索引擎优化的原因,将博客放在子目录中是更好的选择

我目前维护博客的工作流程如下:

  • 用雨果写减价贴
  • 检查Hugo和Flask应用程序之间的css等是否一致
  • 生成静态html代码
  • 修复链接错误等
  • 将静态输出从hugo/public文件夹移动到flask_app/static/blog文件夹
  • 我正在使用
    whitenoise
    访问静态文件夹
  • 部署到Heroku-->通过Flask提供服务
  • 我意识到通过Flask提供静态内容的计算效率较低(这是可以接受的),但目前这不是一个主要问题


    但我肯定有更好的办法

    您可以运行web服务器(如nginx),将流量路由到Flask网站或静态博客内容,而不是依赖Flask来提供静态博客内容

    用户请求->->nginx->flask


    用户请求->->nginx->静态内容(托管在nginx服务器或其他位置)

    您可以通过添加。Github上提供了Hugo的第三方开源构建包,例如。或者,您可以在每次提交任何更改时使用构建日志

    您可以通过设置
    baseURL
    publishDir
    来避免步骤4和5


    我不确定第2步需要什么,但您的总体设置(6和7)似乎合理。

    谢谢您的建议。Heroku支持这种设置吗?