问题描述
在我的 Django 网站上,用户可以上传图片。我正在尝试为他们实现一项功能,以根据图像的内容搜索图像。
为此,我决定使用 Google Vision AI。我能够让这个 API 在一个单独的项目中工作。但是,当我尝试将 API 实施到我的 Django 项目中时,它不起作用。 (错误粘贴在最后)。
在我的测试项目中,我必须为 Google 应用程序凭据创建一个环境变量,如下所示:
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = r'venv/filename.json'
在阅读了几篇关于如何在 Django 中实现环境变量的文章后,这是我目前在 settings.py 中实现的内容:
env = environ.Env()
environ.Env.read_env()
GOOGLE_APPLICATION_CREDENTIALS = env('GOOGLE_APPLICATION_CREDENTIALS')
为了测试环境变量是否在我的项目中正常工作,我将 SECRET_KEY 存储到 .env 文件中,然后我让它工作了。这是我的 .env 文件的样子
.env
GOOGLE_APPLICATION_CREDENTIALS=venv/filename.json
SECRET_KEY=this-is-my-secret##key
SECRET_KEY:
SECRET_KEY = env('SECRET_KEY')
我得到的错误:
DefaultCredentialsError at /images/
File venv/filename.json was not found.
请帮我弄清楚为什么我的环境变量不起作用
解决方法
我的程序的问题是我在错误的目录中搜索环境键。一旦我通过我的代码将文件移动到正确的目录/更改的目录,一切都很好。