如何通过Django推送更改?

0 投票
2 回答
2683 浏览
提问于 2025-04-16 17:35

我拿到了一个用Python和Django框架写的网站的管理权限。之前我主要用PHP,所以对编译这些事情不太熟悉。

我现在只是想改一下网站底部的版权信息。我找到了存放HTML的模板,叫做base.html,在'templates'文件夹里。我把版权年份从2010改成了2011,但在网站上看不到这个变化。

我需要重新编译什么东西才能让我的修改显示出来吗?

2 个回答

1

这里有两个不同的事情。

如果你修改了你的Python文件,那就比较麻烦。大多数情况下,你需要重启服务器才能看到更改。

但我觉得你的问题完全不同。你使用的是django.template.loaders.cached.Loader。

你可以在你的settings.py文件里查看这个设置。

总之,如果你使用这个模板加载器(我觉得是这样),你需要再次重启你的网页服务器。

如果你不想因为修改模板而重启服务器,你必须从TEMPLATE_LOADERS中移除django.template.loaders.cached.Loader,然后重启一次服务器……因为你修改了Python文件。完成这一步后,当你修改模板文件时,就可以看到更改,而不需要重启。

django文档: http://docs.djangoproject.com/en/1.3/ref/templates/api/

0

听起来这是个重要的任务 ;) 你的 Python 脚本(.py 文件)会自动编译成字节码文件(.pyc 文件)。如果 .py 文件有改动,或者没有 .pyc 文件,Python 解释器就会自动进行编译。

据我所知,模板文件(.html 文件)不会在内存中缓存。但是 .pyc 文件是会被缓存的,通常需要告诉 Apache 重新加载一下。对我来说,这听起来更像是你在修改错误的 .html 文件,或者是 HTML 代码的错误部分。

在编译方面,Python 和 PHP 很像,只不过 Python 会把它的字节码保存起来,以便以后使用。

撰写回答