在Railway.app上使用环境变量部署Django应用程序

Photo by Florian Olivo on Unsplash

```html

我开发了一个 Django 应用程序,用于调用 OpenAI 的 ChatGPT API 进行文本摘要。在开发工作满意后,我决定像往常一样将其部署在 Heroku 上。然而,最近在 Reddit 上看到很多帖子说 Railway 更便宜且更容易快速托管应用程序。因此,我决定一试。

```

部署流程

Sure, here's the translated text: ```html 我决定从 GitHub 部署该应用。一切都很顺利,直到我意识到我无法将 API_KEY 推送到 GitHub。一个快速的解决方案是使用环境变量。以下是我的实现方式: ```

在保持HTML结构不变的情况下,将以下英文文本翻译为简体中文: **步骤1:安装Python Dotenv**

Sure, here's the translated text in simplified Chinese while keeping the HTML structure intact: ```html 如果您尚未安装 Python Dotenv,这个库有助于管理环境变量。请使用 pip 进行安装: ```

pip install python-dotenv

Step 2: 在 Railway.app 中添加环境变量

在 Railway.app 中将你的 OPEN_API_KEY 添加为环境变量。这样可以保证你的密钥安全,并且不会暴露在你的源代码中。

Adding Variables like API keys in Railway.app

Sure, here's the translation: ```html Step 3: 在您的代码中加载环境变量 ```

下一步,在你的代码中加载环境变量:

import os
from dotenv import load_dotenv

load_dotenv() # Load environment variables from a .env file

openai.api_key = os.getenv("OPENAI_API_KEY")

headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {openai.api_key}"
}

payload = {
"model": "gpt-4",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
],
"max_tokens": 1000
}

response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)

Sure, here's the translation: 安全部署Django的关键要点

  1. Sure, here's the translated text in simplified Chinese while keeping the HTML structure: ```html 利用环境变量:始终使用环境变量安全管理敏感信息。这种做法可以保护您的 API 密钥和其他凭据。 ``` This HTML structure maintains the integrity of any surrounding HTML elements while displaying the translated text.
  2. Sure, here is the translated text in simplified Chinese, while keeping the HTML structure intact: ```html Railway.app 优势:Railway.app 提供了一种经济实惠、用户友好的解决方案,用于部署 Django 应用程序,是 Heroku 的一个很好的替代选择。 ```
  3. Dotenv安装:安装并使用Dotenv确保您的环境变量得到安全和高效地管理,从而增强您应用程序的整体安全性。

Sure, here's the translation of the text into simplified Chinese, while keeping the HTML structure intact: ```html 如果您发现本指南对您有帮助,并且希望获取有关Django、生成AI和云部署项目的最新技巧和信息,请务必关注我的Medium博客。我定期分享能帮助您提升开发技能并跟上技术最新趋势的见解和教程。 ``` This translation maintains the intended meaning of the original English text while ensuring clarity and correctness in simplified Chinese.

2024-06-13 04:49:32 AI中文站翻译自原文