小编Jam*_*gar的帖子

运行 Django 测试而不收集静态

我正在尝试运行一个使用 inlinecss 的 django 测试套件。inlinecss 在模板中引用静态文件,如下所示:

{% load inlinecss %}
{% inlinecss "css/emails/base.css" %}
Run Code Online (Sandbox Code Playgroud)

在调试模式下运行时,这可以正常工作,在生产环境中运行(已运行collectstatic)时,这也可以正常工作。

但是,当运行测试时(之前没有运行collectstatic)我得到以下信息:

FileNotFoundError: [Errno 2] No such file or directory: '/app/project-name/staticfiles/css/emails/base.css'
Run Code Online (Sandbox Code Playgroud)

STATIC_ROOT = os.path.normpath(join(os.path.dirname(BASE_DIR), "staticfiles"))这是有道理的,因为 django 正在 STATIC_ROOT ( )中查找文件

我想知道是否有一种方法可以让 Django 无需运行即可访问此文件collectstatic?如果我可以添加一些设置,test.py以便它可以收集静态到 tmp 目录或根本不需要收集静态(就像在调试模式下运行时),那将是理想的,但我没有成功尝试此操作。我正在使用 pytest 来运行测试。

python django pytest

7
推荐指数
1
解决办法
294
查看次数

标签 统计

django ×1

pytest ×1

python ×1