gpt4 book ai didi

django - BASE_DIR 返回设置路径而不是项目路径(django 1.10)

转载 作者:行者123 更新时间:2023-12-01 09:49:49 25 4
gpt4 key购买 nike

我目前正在根据 Two Scoops For Django 1.8 首选设置文件设置设置我的 Django 1.10 设置文件。

我的 base.py 设置文件是:

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

BASE_DIR 返回以下路径:

/Devs/projects/captain_log/src/cap_log

我的文件树:

|--Virtual Env Folder
|--src(django project)/
|--cap_log(django config)/
|--init.py
|--urls.py
|--wsgi.py
|--settings/
|-- init.py
|-- base.py (all settings located here)
|-- development.py
|-- production.py
|-- etc.

我假设 BASE_DIR 应该返回:

/Devs/projects/captain_log/src/

我问是因为我的 STATIC_DIRS 也返回了:

/Devs/projects/captain_log/src/cap_log/static

代替:

 /Devs/projects/captain_log/src/static

有人可以建议我正在做的事情的解决方案或更正吗?它还会影响模板路径、collectstatic、媒体路径等。

最佳答案

再试一次 dirname 调用

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

第一个目录名给你设置,第二个给你配置文件夹,第三个将你放在父目录中

__file__ # is the current file location
os.path.abspath(__file__) # locates you on the file structure
os.path.dirname(os.path.abspath(__file__)) # gives you the directory of the file at the supplied filepath

默认假设您使用的是 settings.py 文件而不是目录,因此您在原始配置中是一个较浅的目录

关于django - BASE_DIR 返回设置路径而不是项目路径(django 1.10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40120324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com