-
安装 FastAPI 和 API 所需的任何其他依赖项。
-
为您的 FastAPI 应用程序创建一个文件,例如 api.py,并像往常一样定义您的 FastAPI 路由和函数。
-
要启动 FastAPI 服务器,您可以使用 uvicorn 库来运行
服务器在一个单独的进程中。例如:
import uvicorn
from api import app
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
-
在您的 Django 项目中,您可以使用 subprocess 模块在 Django 服务器启动时将 FastAPI 服务器作为一个单独的进程启动。您可以在 manage.py 文件中执行此操作,例如:
import subprocess
if __name__ == "__main__":
subprocess.Popen(["python", "api.py"])
execute_from_command_line(sys.argv)
-
要根据 URL 路径将请求路由到适当的服务器,您可以使用反向代理,例如 Nginx。在您的 Nginx 配置中,您可以使用 location 指令指定对 /api/ 路径的请求应转发到 FastAPI 服务器,而对其他路径的请求应转发到 Django 服务器。例如:
server {
listen 80;
server_name example.com;
location /api/ {
proxy_pass http://localhost:8000;
}
location / {
proxy_pass http://localhost:8000;
}
}
使用此设置,对http://example.com/api/ 的请求将被转发到 FastAPI 服务器,而对其他路径的请求将被转发到 Django 服务器。然后,您可以使用 FastAPI 服务器处理 API 请求,并使用 Django 服务器处理常规 Web 请求。