我已经确定我的本地网络托管公司不能支持Django。
mod_python
,FastCGI或SCGI。 mod_rewrite
。 其中任何一个都阻止我将我的网站部署为该主机服务的Django应用程序。
我意识到我的网站基本上是静态的。我想知道我是否可以将Django缓存用于文件系统,并部署缓存中的内容。或者使用wget
递归捕获我在localhost上运行的站点。有人做过这种手术吗?是否有可能,是否值得努力?
我意识到我至少还有两个选择:
编辑:谢谢大家的建议!我已经向我的托管服务提供商发送了一封电子邮件,让他们有机会为我提供升级服务。如果他们无法通过,我会将WebFaction视为提供者。
答案 0 :(得分:17)
Django的StaticGenerator就是你想要的。它旨在提取Django视图并将其保存为静态HTML文件。这就是我发布网站的方式(http://nedbatchelder.com)。
更新:原始链接已消失,但包已在PyPI上:http://pypi.python.org/pypi/staticgenerator
答案 1 :(得分:12)
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(或任何框架)作为一个主要是静态的网站?)