【问题标题】:Django collectstatic does not work on nested directories of assetsDjango collectstatic 不适用于资产的嵌套目录
【发布时间】:2018-11-27 06:37:03
【问题描述】:

我的网站有一个 HTML 模板,它有自己的 JavaScript、CSS 和图像目录结构。我的目录结构是这样的: ِDirectory Structure

My_Project/
 |-Include/
 |-Lib/
 |-Scripts/
 |-src/
 | |
 | |--static_my_proj/
 | | | ---assets/
 | | | |----app/
 | | | |----demo/
 | | | |----snippets/
 | | | |----vendors/
 | |--templates/
 | |--My_Projects/
 |-static_cdn/
 | |--static_root/

“app”、“demo”、“sn-ps”和“vendors”目录及其子目录下有一些静态文件。

我在“settings.py”上的配置如下:

STATICFILES_DIR = [
    os.path.join(BASE_DIR, "static_my_proj")
]

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "static_root")

问题是当我使用“python manage.py collectstatic”命令时,“static_my_proj”目录下的子目录下的静态文件不会被复制到“static_cdn/static_root/”路径下。 “static_cdn/static_root”路径上的输出,仅包含“admin”目录及其后续的“css”、“fonts”、“img”和“js”目录;没有任何迹象表明该命令将静态数据从“资产”目录移植到定义的目标。

有什么想法吗?

【问题讨论】:

  • 我将从检查目录权限开始。
  • 我检查了 Windows 和 Linux;输出目录有写权限。此外,“collectstatic”应用在指定的输出路径上创建“admin”目录。
  • BASE_DIR 是否指向C:\dev\python\My_ProjectC:\dev\python\My_Project\src
  • @WillKeeling,它指向C:\dev\python\My_Project\src

标签: django django-templates


【解决方案1】:

您的文件在BASE_DIR/src/static_my_proj,而不是BASE_DIR/static_my_proj

【讨论】:

  • 我打印出了我在settings.py中设置的路径;路径是这样的:C:\dev\python\My_Project\src\static_my_proj 这似乎是真的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
  • 2020-08-07
  • 1970-01-01
  • 2014-12-31
  • 2017-12-21
  • 1970-01-01
  • 2013-10-12
相关资源
最近更新 更多