Django 配置:
运行django-admin.py startproject [project-name] 命令会生成一系列文件,在Django 1.6版本以后的 settings.py 文件中有以下语句:
node2:/app/zqxt_admin#cat a1.py
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print BASE_DIR
node2:/app/zqxt_admin#python a1.py
/app
这里用到了python中的一个神奇的变量__file__这个变量可以获取当前文件(包含这个代码的文件)的路径
node2:/app/zqxt_admin#cat a1.py
import os
# 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_DIR1 = os.path.abspath(__file__)
print BASE_DIR1
node2:/app/zqxt_admin#python a1.py
/app/zqxt_admin/a1.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_DIR1 = os.path.abspath(__file__)
BASE_DIR2 = os.path.dirname(os.path.abspath(__file__))
print BASE_DIR2
node2:/app/zqxt_admin#python a1.py
/app/zqxt_admin
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
static 是静态文件所在目录,比如 jquery.js, bootstrap.min.css 等文件。
node2:/django/mysite/static#ls
Js news
node2:/django/mysite/mysite#cat a2.py
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static').replace('\', '/'),
)
print STATICFILES_DIRS
node2:/django/mysite/mysite#python a2.py
('/django/mysite/static',)