我目前正在开发一个Django 1.3应用程序,其中MEDIA_ROOT
和STATIC_ROOT
相同,MEDIA_URL
和STATIC_URL
相同。
这(以某种方式)在生产服务器上运行,但在本地调用manage.py runserver
时我收到ImproperlyConfigured
异常并且只能在我覆盖设置时运行应用程序以便MEDIA_*
与STATIC_*
不同(DEBUG=False
只给出500)。这就是我期望发生的事情(as per documentation),所以我不明白他们如何让它在生产中发挥作用。
该应用程序的原始开发人员已经继续前进,所以我不能问任何问题,因为他们是如何设法让这个工作的。是否存在绕过Django的静态和媒体文件分离的已知方法?
答案 0 :(得分:0)
不是一个很好的答案,因为它是如此具体,但答案是他们从未使用DEBUG=True
运行应用程序(runserver将与DEBUG=False
和MEDIA_*
和{{ 1}}设置)。没有银弹,应用程序似乎使用mod_wsgi创建的错误日志进行调试(没有登录)。我假设这也是如何建立开发环境的。
该应用程序也值得注意的是,当它不在STATIC_*
上时运行,并且将其所有应用程序放在文件系统的另一部分的单独文件夹中。将新应用程序添加到包含PYTHONPATH
的文件夹并为新应用程序导入错误时,会发现这种情况。我认为这是多个django安装可以使用相同的应用程序集。
感谢Yuji的帮助。