6 октября 2013 г.

django: удобные относительные пути в settings

В settings-файле джанги удобно придумать какой-то порядок, потому что рутинных записей всяких копится целая куча. Например, для работы с путями (которые почти все относительны) использую небольшой трюк.
import os

# путь корня этого проекта (там где manage лежит)
PROJECT_DEPLOY_PATH = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))

rel = lambda *path: os.path.join(PROJECT_DEPLOY_PATH, *path)
Без лямбды функция rel может выглядеть как-то так:
def rel(*path):
    return os.path.join(PROJECT_DEPLOY_PATH, *path)
И далее просто используется:
STATIC_ROOT = rel('static')
Или для путей из нескольких подпапок (/static/files/)
STATIC_ROOT = rel('static','files')

Комментариев нет:

Отправить комментарий