将Django网站转储到静态HTML?

时间:2008-12-11 01:56:52

标签: django hosting

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

  • 他们运行Python 2.2。
  • 不支持mod_python,FastCGI或SCGI。
  • 不支持mod_rewrite

其中任何一个都阻止我将我的网站部署为该主机服务的Django应用程序。

我意识到我的网站基本上是静态的。我想知道我是否可以将Django缓存用于文件系统,并部署缓存中的内容。或者使用wget递归捕获我在localhost上运行的站点。有人做过这种手术吗?是否有可能,是否值得努力?

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

  • 使用PHP CMS解决方案。
  • 将我的域名切换到另一个托管服务。

编辑:谢谢大家的建议!我已经向我的托管服务提供商发送了一封电子邮件,让他们有机会为我提供升级服务。如果他们无法通过,我会将WebFaction视为提供者。

7 个答案:

答案 0 :(得分:17)

Django的StaticGenerator就是你想要的。它旨在提取Django视图并将其保存为静态HTML文件。这就是我发布网站的方式(http://nedbatchelder.com)。

更新:原始链接已消失,但包已在PyPI上:http://pypi.python.org/pypi/staticgenerator

答案 1 :(得分:12)

带有“-m”(镜像)开关的

Wget可能就是你要找的东西。执行此操作的“更干净”方式可能是获取通常由上下文处理器传递的所有内容,并手动将其组合到模板中。

顺便说一句,这真是一个真正的无赖,伙计。 Django的动态特性是它如此伟大的重要组成部分。如果你不打算使用荒谬的转移量(比如说> 10 GB),我可能会免费托管你。

答案 2 :(得分:5)

我的项目Cactus允许您使用django构建静态网站。

答案 3 :(得分:4)

我曾使用http://www.httrack.com/几次将动态网站转换为静态html,一般都很不错。

如果您有类似Dreamweaver的功能,可以在完成后检查所有链接,但取决于它有多大。

答案 4 :(得分:1)

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

答案 5 :(得分:1)

Wget有一个递归镜像选项...只需google for Wget mirror。

答案 6 :(得分:0)

使用PHP CMS解决方案或获取新主机。为什么复杂的事情更进一步? (真正的问题是为什么你使用Django(或任何框架)作为一个主要是静态的网站?)