代码之家  ›  专栏  ›  技术社区  ›  Bill Karwin

将Django站点转储到静态HTML?[关闭]

  •  23
  • Bill Karwin  · 技术社区  · 16 年前

    我已经确定我的本地网络托管公司不能支持Django。

    • 他们运行python 2.2。
    • 不支持 mod_python ,fastcgi或scgi。
    • 不支持 mod_rewrite .

    其中任何一个都阻止我将我的站点部署为该托管服务的django应用程序。

    我意识到我的站点基本上是静态的。我想知道是否可以使用django缓存到文件系统,并部署缓存中的内容。否则使用 wget 以递归方式捕获在本地主机上运行的站点。有人做过这种手术吗?这是可能的,值得付出努力吗?

    我意识到我至少还有两个选择:

    • 使用php-cms解决方案。
    • 将我的域切换到其他托管服务。

    编辑: 谢谢大家的建议!我已经给我的主机提供商发了一封电子邮件,给他们一个升级的机会。如果他们不能通过,我看 WebFaction 作为提供者。

    7 回复  |  直到 8 年前
        1
  •  17
  •   the    8 年前

    Django的StaticGenerator就是您想要的。它的设计目的是拉Django视图并将其保存为静态HTML文件。这就是我发布网站的方式( http://nedbatchelder.com )

    更新:原始链接已丢失,但包位于pypi上: http://pypi.python.org/pypi/staticgenerator

        2
  •  12
  •   Peter Mortensen icecrime    15 年前

    Wget 使用“-m”(后视镜)开关可能是您想要的。这样做的“更干净”的方法可能是只获取通常由上下文处理器传递的所有内容,然后手动将其组合到模板中。

    顺便说一句,那真是个麻烦事,伙计。Django的动态特性是它如此伟大的一个重要组成部分。如果您不打算使用一个荒谬的传输量(比如10 GB),我可能会免费招待您。

        3
  •  5
  •   Koen Bok    12 年前

    我的计划 Cactus 允许您使用django构建静态站点。

        4
  •  4
  •   seanb    16 年前

    我已经用过 http://www.httrack.com/ 几次把一个动态站点撕成静态HTML,一般都不错。

    如果你手头有Dreamweaver之类的东西,可以在完成后检查所有链接,但这取决于链接的大小。

        5
  •  1
  •   Peter Mortensen icecrime    15 年前

    Wget 具有递归镜像选项…只需谷歌的wget镜像。

        6
  •  1
  •   Peter Mortensen icecrime    15 年前

    我会说切换到另一个托管服务。实际上有一个 french hosting service 它支持django并提供免费的托管包(但您只能获得10 MB)。

        7
  •  0
  •   Peter Mortensen icecrime    15 年前

    使用php cms解决方案或获取新主机。为什么复杂的事情还要进一步?(真正的问题是,为什么您将django(或任何框架)用于大多数静态站点?)