2008-12-11 67 views
22

我确定我的本地虚拟主机公司无法支持Django。将Django站点转储为静态HTML?

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

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

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

我知道我有其他的至少有两个选项:

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

编辑:感谢大家的建议!我发送了一封电子邮件给我的托管服务提供商,让他们有机会为我提供升级服务。如果他们不能通过,我正在寻找WebFaction作为供应商。

回答

16

Django的StaticGenerator是你想要的。它的目的是拉动Django视图并将它们保存为静态HTML文件。这是我发布我的网站(http://nedbatchelder.com)。

更新:原路段走了,但是包PyPI上:http://pypi.python.org/pypi/staticgenerator

+0

看起来很有希望。谢谢! – 2008-12-11 06:03:25

+0

看起来像StaticGenerator不再可用:上面的链接已经死了,github回购也不见了。 – 2012-04-15 22:58:19

1

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

4

我用http://www.httrack.com/几次把一个动态网站翻到静态html,一般都不错。

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

+0

感谢您的建议! – 2008-12-11 06:02:55

1

Wget有一个递归镜像选项...只是谷歌Wget镜像。

+1

在Wikipedia上发现这个代码,像魅力一样工作。 `wget --mirror -w 2 -p --html-extension --convert-links -P $ {dir_prefix} http:// www.yourdomain.com` – 2016-03-15 05:18:44

11

Wget与“-m”(镜像)开关可能是你在找什么。这样做的“干净”方式可能是只取上下文处理器通常会传递的所有内容,并手动将其组合到模板中。

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

+0

谢谢,这是一个非常友善的提议!尽管如此,我想继续使用托管服务。 – 2008-12-11 05:41:16

0

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

5

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