1.Django项目合理化
2018-07-09 本文已影响0人
何阿驼
当我们使用Django写一个项目的时候,往往会用到很多的app应用以及第三方的应用,这个时候我们就需要去合理的归纳这些应用(app)
1530976138813.png将自己所建的app应用放在apps中,扩展的第三方app放置在extra_apps中。当然为了使项目能够找到这些文件夹,我们还需要在setting中做一些配置
1530976251535.png
可能很多人对sys和os这个类库不清楚
import os
print(os.sep)#取代当前操作系统的路径分隔符,windows下未'\\'
print(os.name)#字符串只是你正在使用的平台,比如windows下为'nt',而linux\unix下则为'posix'
print(os.getcwd()) #获取当前工作目录
#print(os.listdir(path)) #返回指定目录下的所有文件和目录名
#os.remove(path) #删除一个文件
# os.system(command) #函数用来运行shell命令
#os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
#os.path.join(path,name):连接目录与文件名或目录;使用“\”连接
#os.path.dirname(path):返回文件路径
print(os.path.basename(os.getcwd()))#返回当前工作目录的文件名
#os.path.split(path) #返回(dirname,basename())元组
import sys
print(sys.argv) #命令行参数List,第一个元素是程序本身路径
print(sys.modules.keys()) #返回所有已经导入的模块列表
print(sys.path) #返回模块的搜索路径,初始化使用Python环境变量的值
"""
os与sys模块的官方解释如下:
os: This module provides a portable way of using operating system dependent functionality
这个模块提供了一种方便的使用操作系统函数的方法。
sys: This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.
这个模块可供访问由解释器使用或维护的变量和与解释器进行交互的函数。
"""
解释
这里我们在setting.py下的使用是这样的,我们先import os和sys模块
1.首先我们使用获取到当前setting.py文件的位置(绝对路径)
print(os.path.abspath(__file__))
1530978970961.png
2.接下来,我们通过两次当前文件路径返回得到全局路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
1530979160320.png
通过目录我们可以知道现在的BASE_DIR就是我们的主文件夹hzj_test
3.接下来,我们只要将模块引入进BASE_DIR中就可以了
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))
1530979532719.png
结果很成功的添加到了我们的sys.path中去。这样我们就可以调用了。