2016-10-19 7 views
1

В настоящее время я настраиваю свои файлы настроек для Django 1.10 в соответствии с двумя совпадениями для настроенных файлов настроек Django 1.8.BASE_DIR, возвращающий путь настроек, а не путь к проекту (django 1.10)

мой файл настроек base.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_dir возвращается следующий путь:

/Devs/projects/captain_log/src/cap_log 

мой файл дерева:

|--Virtual Env Folder 
    |--src(django project)/ 
     |--cap_log(django config)/ 
      |--init.py 
      |--urls.py 
      |--wsgi.py 
      |--settings/ 
       |-- init.py 
       |-- base.py (all settings located here) 
       |-- development.py 
       |-- production.py 
       |-- etc. 

Я в предположении что BASE_DIR должен возвращать:

/Devs/projects/captain_log/src/ 

Я спрашиваю, потому что мой STATIC_DIRS также возвращение:

/Devs/projects/captain_log/src/cap_log/static 

вместо:

/Devs/projects/captain_log/src/static 

Может кто-то пожалуйста, посоветовать решения или исправления к тому, что я делаю. Он также осуществления пути шаблона, collectstatic, Media Path и т.д.

ответ

1

Попробуйте еще один dirname вызова

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 

Первой имя_директория дает вам настройки, второе дает папку конфигурации, то третий поставит вы в родительском каталоге

__file__ # is the current file location 
os.path.abspath(__file__) # locates you on the file structure 
os.path.dirname(os.path.abspath(__file__)) # gives you the directory of the file at the supplied filepath 

по умолчанию считается, вы используете settings.py файл, а не каталог, так что вы один каталог неглубоко в оригинальной конфигурации

+0

Спасибо. Это сработало. Я не знаю, почему я об этом не думал. –

 Смежные вопросы

  • Нет связанных вопросов^_^