Django URL解析基础设施停止工作

Chi*_*Tol 2 python django fastcgi django-urls

我们最近推出了一个新的Django支持的网站,我们遇到了最奇怪的错误:

该站点在Apache下使用mod_fastcgi运行.一切正常,然后URL标记和reverse()功能停止工作.它们返回""而不是返回预期的URL.

我们在Apache的日志文件中没有注意到任何内容; Django没有生成错误.而且(踢球者)问题只发生在生产模式中; 当DEBUG = True时,我们无法重现它.

关于我们应该在哪里寻找问题的任何想法?

更新:事实证明这是settings.LANGUAGES的一个问题,虽然我们还没有确定为什么破坏了东西.

dgu*_*lia 7

这件事发生在我之前.通常这是由于'破坏'urls.py文件.有两件事使得这种bug很难修复:

  • 它可能是任何破坏reverse()函数的应用程序中的urls.py文件,因此知道app X的reverse()中断并不意味着该特定应用程序的urls.py中存在错误.
  • Django甚至不会通知你urls.py文件中的错误,除非你以某种方式设法通过在urls.py文件中做一些真正非常讨厌的事情来破坏网站.

调试:我解决此问题的方法是手动禁用所有应用程序(只需在INSTALLED_APPS中注释掉它们的行)并检查reverse()是否有效.如果它仍然有效,那么我启用下一个应用程序,直到它中断.我知道,非常基本的东西,但它的工作:)