- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了以下问题。我有一个看起来有点像这样的模型:
class Package(models.Model):
name = models.CharField(max_length=64)
file = models.FileField(upload_to="subdir",
storage=settings.PACKAGE_STORAGE,
null=True)
此示例中的基本内容是 FileField
构造函数的 storage=
参数。它填充了来自 settings.py
的值。其中有以下代码:
from django.core.files.storage import FileSystemStorage
PACKAGE_STORAGE = FileSystemStorage(location="/var/data", base_url="/")
对于生产用途,这效果很好。但在我的单元测试中,我上传的内容现在写入 /var/data
,其中包含生产数据。我尝试像这样交换 packages/tests.py
中的 PACKAGE_STORE
from django.conf import settings # This is line 1
from tempfile import mkdtemp
settings.PACKAGE_STORAGE = FileSystemStorage(location=mkdtemp(), base_url="/")
# rest of the imports and testing code below
但真正的问题是,在加载测试文件之前,packages
应用程序及其模型已经加载,因此,PACKAGE_STORAGE
设置已解决,然后我才能在测试设置代码中更改它。
是否有一种优雅的方法可以在测试上下文中覆盖此特定设置?
最佳答案
不知道这是否算优雅,但您可以使用不同的设置文件进行测试...
类似于:
# test_settings.py
from settings import *
PACKAGE_STORAGE = FileSystemStorage(location='/test/files', base_url="/")
然后使用测试设置运行测试,python manage.py test --settings=test_settings
。
关于django - 如何在单元测试中优雅地交换(修补)Django FileSystemStorage 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4874708/
我试图在浏览器组件内显示保存在 FileSystemStorage 中的 pdf,但它一直在控制台上给我这个错误:[0813/072549.347989:INFO:CONSOLE(37)] "Not
我试图使用 Django FileSystemStorage 保存一些文件。我的模型如下图 key_store = FileSystemStorage( location='account/files
在我的 Django 应用程序中,我使用 FileSystemStorage 来存储生成的文件。我这样初始化它: import os from urlparse import urljoin from
我遇到了以下问题。我有一个看起来有点像这样的模型: class Package(models.Model): name = models.CharField(max_length=64)
我尝试使用 Eloquent 在 Laravel 4.1 中保存付款详细信息。我试过像 documentation payum 所说的那样创建我的模型,但它对我不起作用。我的代码: payum/pay
我是一名优秀的程序员,十分优秀!