當(dāng)我們使用Django寫(xiě)一個(gè)項(xiàng)目的時(shí)候,往往會(huì)用到很多的app應(yīng)用以及第三方的應(yīng)用,這個(gè)時(shí)候我們就需要去合理的歸納這些應(yīng)用(app)
將自己所建的app應(yīng)用放在apps中整吆,擴(kuò)展的第三方app放置在extra_apps中。當(dāng)然為了使項(xiàng)目能夠找到這些文件夾逞敷,我們還需要在setting中做一些配置
可能很多人對(duì)sys和os這個(gè)類(lèi)庫(kù)不清楚
import os
print(os.sep)#取代當(dāng)前操作系統(tǒng)的路徑分隔符禀挫,windows下未'\\'
print(os.name)#字符串只是你正在使用的平臺(tái)琴许,比如windows下為'nt',而linux\unix下則為'posix'
print(os.getcwd()) #獲取當(dāng)前工作目錄
#print(os.listdir(path)) #返回指定目錄下的所有文件和目錄名
#os.remove(path) #刪除一個(gè)文件
# os.system(command) #函數(shù)用來(lái)運(yùn)行shell命令
#os.path.isfile()和os.path.isdir()函數(shù)分別檢驗(yàn)給出的路徑是一個(gè)文件還是目錄劫笙。
#os.path.join(path,name):連接目錄與文件名或目錄;使用“\”連接
#os.path.dirname(path):返回文件路徑
print(os.path.basename(os.getcwd()))#返回當(dāng)前工作目錄的文件名
#os.path.split(path) #返回(dirname,basename())元組
import sys
print(sys.argv) #命令行參數(shù)List趣钱,第一個(gè)元素是程序本身路徑
print(sys.modules.keys()) #返回所有已經(jīng)導(dǎo)入的模塊列表
print(sys.path) #返回模塊的搜索路徑涌献,初始化使用Python環(huán)境變量的值
"""
os與sys模塊的官方解釋如下:
os: This module provides a portable way of using operating system dependent functionality
這個(gè)模塊提供了一種方便的使用操作系統(tǒng)函數(shù)的方法。
sys: This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.
這個(gè)模塊可供訪(fǎng)問(wèn)由解釋器使用或維護(hù)的變量和與解釋器進(jìn)行交互的函數(shù)羔挡。
"""
解釋
這里我們?cè)趕etting.py下的使用是這樣的洁奈,我們先import os和sys模塊
1.首先我們使用獲取到當(dāng)前setting.py文件的位置(絕對(duì)路徑)
print(os.path.abspath(__file__))
2.接下來(lái),我們通過(guò)兩次當(dāng)前文件路徑返回得到全局路徑
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
通過(guò)目錄我們可以知道現(xiàn)在的BASE_DIR就是我們的主文件夾hzj_test
3.接下來(lái)绞灼,我們只要將模塊引入進(jìn)BASE_DIR中就可以了
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))
結(jié)果很成功的添加到了我們的sys.path中去利术。這樣我們就可以調(diào)用了。