【问题标题】:Django grabing before the BASE_DIR pathDjango 在 BASE_DIR 路径之前抓取
【发布时间】:2019-12-29 13:20:59
【问题描述】:

我正在尝试在base_dir 文件之前设置我的静态文件

喜欢, 我的根目录是Desktop/afolder/projectdir/settings.py

以及我当前在Desktop/afolder/static/blabla.js中的静态文件

然后像用一样抓住它

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

上面这些效果很好,但现在我正在更改我的 static 文件目录,它现在将在基本目录之前

点赞:Desktop/static/blabla.js

在这种情况下,我无法配置我的设置以获取我的静态文件。因为,它在基本目录之前,我的基本目录是afolder,比如Desktop/afolder/projectdir/settings.py

谁能帮我识别这个目录Desktop/static/blabla.js的静态文件?

【问题讨论】:

    标签: django


    【解决方案1】:

    使用Unipath。它为您提供了一种方便的面向对象的方法来定义路径:

    from unipath import Path
    BASE_DIR = Path(__file__).ancestor(2)
    
    # Another way:
    BASE_DIR = Path(__file__).parent.parent
    

    您可以使用pip3 install unipath 安装它。

    【讨论】:

    • 在没有第三方库的情况下处理是不是还过得去?
    • 您可以使用内置的os.pathpathlib,但没有什么理由这样做。 Unipath 是一个成熟且方便的库。 stackoverflow.com/questions/2817264/…
    猜你喜欢
    • 2017-02-28
    • 2012-06-12
    • 2021-11-26
    • 2021-04-12
    • 1970-01-01
    • 2012-04-28
    • 2015-02-08
    • 2019-04-27
    • 1970-01-01
    相关资源
    最近更新 更多