Django:在测试期间从 STATIC_ROOT 读取

标签 django testing static

我从项目中的一些模板渲染一些 pdf。嗯,这似乎有效,但是......

...我想测试一下!

问题是我在渲染期间读取的一些文件位于 STATIC_ROOT 中 - 所以我需要在运行测试时收集静态(有点奇怪!)。

问题是:有没有办法在测试期间使用 STATIC_ROOT,但不需要“真正”收集静态?

最佳答案

我使用以下方式。在您的项目目录中创建一个名为 dev_static_finder.py 的文件,其中包含这些内容。

# -*- coding: utf-8 -*-
from django.core.files.storage import FileSystemStorage
from django.contrib.staticfiles.finders import BaseStorageFinder
from django.conf import settings

class StaticRootFinder(BaseStorageFinder):
    storage = FileSystemStorage(settings.STATIC_ROOT, settings.STATIC_URL)

将此行添加到您的settings.py

STATICFILES_FINDERS += ('dev_static_finder.StaticRootFinder',)

我不知道更简单的方法。

关于Django:在测试期间从 STATIC_ROOT 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10599533/

相关文章:

python - 如何使用 django_jinja 应用程序创建 Jinja2 自定义过滤器?

javascript - 从 JavaScript 访问 Django 模板 {{Variable}}

python - 异常类型: MissingSchema/beautifulsoup

ruby-on-rails-3 - 如何测试需要javascript才能完成的场景?

python - 在 python 中对静态函数进行分组的适当方法

c++ - 在 main(...) 而不是全局中初始化类的静态常量数组成员?

python - 为什么我收到错误 : "Error: Render_to_response not defined"; Django

ruby-on-rails - 未捕获的抛出 :warden in Devise Testing

ruby-on-rails - 无法命中数据库,通过 minitest 集成测试

java - 静态整数的 Switch 语句错误