在Django中,api键存储在哪里?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Django中,api键存储在哪里?相关的知识,希望对你有一定的参考价值。

我目前正在通过Mongolabs建立一个使用外部MongoDb的web应用,api是基于个人密钥,使用in urls。就像文档中说的那样,例如:。

下面是一个完整的资源URL的例子。

https:/api.mongolab.comapi1databases?apiKey=。2E81PUmPFI84t7UIc_5YdldAp1ruUPKye所以,问题是如何安全地存储这样的api密钥。2E81PUmPFI84t7UIc_5YdldAp1ruUPKye

阅读Django文档中关于跨站请求伪造的内容,但还是不明白密钥记录在哪里。

答案

有两种方法可以做到这一点。

一种方法是有一个 local_settings.py 中导入的文件。settings.py 文件,并放入 .gitignore 所以它不在git里。然而,有些人认为这不是好做法,因为这可能会诱使人们把复杂的东西放在VCS中没有的地方,所以人们实际上有不同的环境。然而我却没有意见。

try:
    from local_settings import *
except ImportError:
    pass  # No local_settings file

另一种方法(不喜欢第一种方法的人推荐的)是通过环境变量来设置,然后在 settings.py.

MONGO_API_KEY = os.environ['MONGO_API_KEY']

然后你必须以某种方式传递环境变量,例如通过wsgi的environ设置,或者通过在你的bash中用export设置,或者通过其他方式。例如,通过uwsgi的environ设置,或者在你的bash中用export设置,或者通过其他方式。

另一答案

我会在设置文件中从环境变量中加载它。请看一下 Django设置

以上是关于在Django中,api键存储在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

重新加载时刷新片段

Django REST框架--认证和权限

在 Django REST 框架中使用 JWT 时,刷新令牌和访问令牌存储在哪里?

修复 Django Rest Framework 模型序列化程序相关主键查询集中的错误

如何在 Django Summernote 中显示编程片段的代码块?

在 Django 模型中存储与外键关联的数据