Django 配置:

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',)


原文地址:https://www.cnblogs.com/hzcya1995/p/13349377.html