在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 框架中使用 JWT 时,刷新令牌和访问令牌存储在哪里?
修复 Django Rest Framework 模型序列化程序相关主键查询集中的错误