Django奇怪的urlpattern缓存问题

时间:2013-07-19 10:17:43

标签: django

我遇到的问题是,当我在我的root urls.py文件中注释掉urlpattern并重启服务器(在Hostgator共享主机上使用fastCGI)时,通过终止进程并触摸我的index.fcgi文件,我按预期得到404错误(因为url不再匹配),但是当Django处理404.html模板并发送返回它时,它只是没有静态文件或任何东西的裸HTML。

然而,当我尝试任何其他URL但是我注释掉的urlpatterns匹配的那些(当然,除了那些匹配当前活动模式的URL)之外,我得到一个完全呈现的404页面,其中包含所有正确的CSS。

所有静态文件当前都位于〜/ public_html /中,因为这显然是网络服务器(我无法控制)查找它们。

我无法弄清楚为什么Django(或网络服务器)能够在一个案例中找到静态文件,但在另一个案例中却找不到...

提前感谢你们所有想法。

1 个答案:

答案 0 :(得分:2)

只是为了确保...您知道至少有两个不同的404页面,一个是Web服务器配置中未定义URL时Web服务器返回的页面,第二个是Django返回的页面,当时webserver将请求移交给Django,但urls.py没有定义匹配URL的模式?

如果您知道这一点,并且浏览器中显示的带有和不带静态内容的404页面都由Django提供,我建议您查看浏览器发送的请求以获取静态内容。您可以在Chrome,Safari,Firefox的调试控制台中执行此操作。在那里,您可以看到与请求(可能是URL)的不同之处,以便Web服务器返回静态内容而不是其他情况。