Django的BASE_DIR是什么路徑?
答:是Django的Project(項(xiàng)目)路徑。
BASE_DIR在文件settings.py中定義,定義如下:
BASE_DIR = Path(__file__).resolve().parent.parent
假設(shè)文件settings.py的路徑為:“E:\Python_project\P_001\myshop-test\myshop\myshop\settings.py”,那么在這個(gè)文件中,代碼Path(__file__).resolve().parent.parent
的返回值將是父目錄的父目錄的路徑。
根據(jù)給定的路徑,我們可以得到以下計(jì)算步驟:
-
Path(__file__)
創(chuàng)建一個(gè)路徑對(duì)象,表示當(dāng)前腳本的路徑。這將返回:“E:\Python_project\P_001\myshop-test\myshop\myshop\settings.py”。 -
resolve()
方法將解析路徑中的符號(hào)鏈接,返回一個(gè)規(guī)范化的絕對(duì)路徑。在這種情況下,它不會(huì)改變路徑,因?yàn)槁窂揭呀?jīng)是絕對(duì)路徑且沒有符號(hào)鏈接。 -
parent
屬性獲取路徑對(duì)象的父目錄。對(duì)于給定的路徑,它將返回:“E:\Python_project\P_001\myshop-test\myshop\myshop”。 -
再次調(diào)用
parent
屬性獲取父目錄的父目錄。這將返回:“E:\Python_project\P_001\myshop-test\myshop”。
所以,Path(__file__).resolve().parent.parent
的返回值是:“E:\Python_project\P_001\myshop-test\myshop”。
所以Django的BASE_DIR代表Django的Project(項(xiàng)目)路徑。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-532502.html
諸君可以用下面的代碼打印出BASE_DIR的路徑:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-532502.html
# -*- coding: utf-8 -*-
import os
import django
from pathlib import Path
# 設(shè)置Dango運(yùn)行時(shí)需要的環(huán)境變量DJANGO_SETTINGS_MODULE
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mmdj01.settings')
# 加載Django的設(shè)置
django.setup()
BASE_DIR = Path(__file__).resolve().parent.parent
print('BASE_DIR:', BASE_DIR)
到了這里,關(guān)于Django的BASE_DIR是什么路徑?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!