В одном из моих приложений я хочу загрузить некоторые данные из другого каталога на моем компьютере. Мой проект Django находится по адресу C:/Projects/MyProject
, мое приложение расположено по адресу C:/Projects/MyProject/myapp
, а мой каталог данных находится по адресу C:/Data/MyAppData
. По разным причинам я не хочу хранить эти данные непосредственно в статическом каталоге приложения. Как я могу это сделать?Ссылка на относительные каталоги за пределами проекта
Вот что я пробовал. В C:/Projects/MyProject/settings.py
я следующее:
import os
DATA_ROOT = `C:/Data`
DATA_DIR = os.path.join(DATA_ROOT, 'MyAppData')
Но как же я теперь ссылаться DATA_DIR
в файл мои взгляды?
Также предположим, что я хочу сохранить все относительное и избегать жесткого кодирования C:/Data
. Это возможно? Что-то вроде следующего:
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
DATA_ROOT = BASE_DIR + '../../../Data'
DATA_DIR = os.path.join(DATA_ROOT, 'MyAppData')
Спасибо. Как я могу теперь ссылаться на DATA_ROOT в моем файле представлений? – Karnivaurus
@ Karnivaurus, я обновил ответ, чтобы включить использование файла DATA_ROOT в файле вида. – falsetru