Локальные настройки в Джанго 2 - PullRequest
0 голосов
/ 07 ноября 2018

Я использую Django 2 с Python 3.7

Я хочу импортировать некоторые настройки из файла local_settings.py, чтобы я мог включить этот файл в .gitignore, чтобы я не передавал свои секретные ключи на github.

У меня дерево папок настроено так: folder tree

settings.py имеет это в конце:

try:
       from local_settings import *
    except ImportError:
        pass

    ORDERS = '@catsinuniform.myshopify.com/admin/orders.json'

    PRODUCTS = '@catsinuniform.myshopify.com/admin/products.json'

    SHOPIFY_SECRET_KEY = ''

    SHOPIFY_PWORD = ''

    ORDERS_URL = f"https://{SHOPIFY_SECRET_KEY}:{SHOPIFY_PWORD}{ORDERS}"

    PRODUCTS_URL = f"https://{SHOPIFY_SECRET_KEY}:{SHOPIFY_PWORD}{PRODUCTS}"

Я также хотел бы поместить свой SECRET_KEY в local_settings.py

Это не работает, и я не могу найти, почему нет? Это моя версия Python или Django?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Другим способом было бы импортировать его из вашего __init__.py файла

from .settings import *
try:
    from .local_settings import *
except ImportError as exc:
    exc.args = tuple(
        ['%s (local_settings.py missing)' % exc.args[0]])
raise exc
0 голосов
/ 07 ноября 2018

Поскольку ваш local_settings.py сначала импортируется, а затем переопределяется вашими настройками. Если вы хотите использовать этот шаблон, выполните импорт в конце файла.

Лучшим способом было бы сохранить ваши секретные ключи в переменной окружения, установленной на сервере, которая затем импортируется в ваш файл настроек, используя что-то вроде:

SECRET_KEY = os.environ.get('SECRET_KEY', 'some_sort_of_sane_default_for_your_dev')

...