【问题标题】:Updating Django settings using manage.py command使用 manage.py 命令更新 Django 设置
【发布时间】:2020-08-06 15:00:18
【问题描述】:

我正在创建一个 Twitter 机器人,并且我需要存储几个 API 密钥来访问 Twitter API。这些 API Key 需要存储在 Web 服务器的某个位置,当我在寻找方法时,我想到了其他方法。

我去了 Django 的文档,看看如何创建一个 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"))

【问题讨论】:

    标签: python django configuration django-admin


    【解决方案1】:

    为什么不使用环境变量?

    例如,如果您使用的是 linux (bash)。

    ~$ export API_KEY="my_api_key"
    

    或将其存储在 bashrc 中

    在 settings.py 上。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-13
      • 2015-04-11
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 2021-05-28
      • 1970-01-01
      相关资源
      最近更新 更多