【发布时间】:2014-02-23 13:45:34
【问题描述】:
正如this question 中所述,我正在尝试隔离在 Django 测试中完成的文件系统更改。
我基本上是在运行测试之前更改settings.MEDIA_ROOT。不幸的是,Django 存储类似乎不受它的影响,因此即使MEDIA_ROOT 指向另一个临时目录,文件也会保存在原始位置。
如何重新初始化 Django 存储系统以反映新的媒体根?
更新:问题是设置文件被预加载到django.conf.Settings 对象中,对settings.MEDIA_ROOT 的任何更改都不会反映在预加载的实例中。我仍然不知道如何克服这个问题。
【问题讨论】:
-
你在哪里更改
settings.MEDIA_ROOT,在你的测试中,在 yourapp.settings 中? -
在我的 Test 类以及 TestRunner 类中。
-
而且每个文件有不同的
MEDIA_ROOT吗? -
没有。有些测试会在同一个 MEDIA_ROOT 下创建多个文件。
标签: python django django-tests