【问题标题】:django-inlinecss returns error You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem pathdjango-inlinecss 返回错误您正在使用 staticfiles 应用程序而没有将 STATIC_ROOT 设置设置为文件系统路径
【发布时间】:2020-07-20 16:18:53
【问题描述】:

我正在尝试将页面加载为 PDF。实际上它已成功加载 - 没有任何样式甚至图像。所以我安装了 django-inlinecss 并将其添加到 settings.py 中的 installed_apps 中,并将其加载到模板中并按照我的要求调用它。但它返回一个错误

You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.

并指向:

1   {% load inlinecss %}
2   {% load static %}
3   {% inlinecss "css/style.css" %}    <---

我不知道如何解决它。希望有人能在这方面帮助我

【问题讨论】:

    标签: django django-templates django-staticfiles django-inlinecss


    【解决方案1】:

    实际上,当我为STATIC_ROOT 设置目录时它起作用了。但有一点需要注意,您必须为此设置另一个目录。这意味着STATIC_URL 和其他STATIC_FILE_ROOTSTATICFILES_DIRS 不应该与STATIC_ROOT 相同

    例如:

    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, "media")
    STATIC_URL = '/static/'
    STATIC_FILE_ROOT = os.path.join(BASE_DIR, "static")
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, "static"),
    )
    STATIC_ROOT = os.path.join(BASE_DIR, "static/assets")
    

    对不起,如果这不是你要找的。​​p>

    【讨论】:

      【解决方案2】:

      正如错误所说,您必须在设置中指定静态和媒体文件的路径

      STATIC_URL = '/static/'
      STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static")
      
      MEDIA_URL = "/media/"
      MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media")
      

      【讨论】:

      • 它实际上是一个工作项目。我已经扎根了,一切正常。除了这个
      猜你喜欢
      • 2020-07-28
      • 2018-07-05
      • 2016-08-14
      • 1970-01-01
      • 2018-09-04
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多