Обновление настроек Django с помощью команды manage.py - PullRequest
0 голосов
/ 06 августа 2020

Я создаю бота Twitter, и у меня есть пара ключей API, которые мне нужно сохранить для доступа к Twitter API. Эти API-ключи необходимо хранить где-то на веб-сервере, и, когда я искал способы сделать это, я подумал о другом. команду manage.py, а затем сделал ее, но теперь я все еще не нашел способа изменить настройки Django, хотя я просмотрел довольно много веб-сайтов, лучшим из них был https://code.djangoproject.com/wiki/SplitSettings.

Я, вероятно, просто сделаю файл settings_local.py и сохраню все там, но мне было интересно, можно ли это сделать с помощью команды manage.py, потому что я думаю что это был бы полезный способ заставить все работать.

Вот мой текущий код

from django.core.management.base import BaseCommand, CommandError
from django.conf import settings


class Command(BaseCommand):
    help = "Configure the server with developer codes to allow for Twitter API connection."

    def handle(self, *args, **options):
        api_key = input("API Key: ")
        secret_key = input("Secret Key: ")

        settings.configure(TWITTER_API_KEY=api_key,
                           TWITTER_SECRET_KEY=secret_key)
        self.stdout.write(self.style.SUCCESS(
            "Successfully added your Twitter API_KEY and SECRET_KEY"))

1 Ответ

0 голосов
/ 06 августа 2020

Почему бы не использовать переменные среды? Пример

, если вы используете linux (bash).

~$ export API_KEY="my_api_key"

или сохраните это на bashr c

На settings.py.

import os

TWITTER_API_KEY=os.getenv("API_KEY")
...