gpt4 book ai didi

python - 在Docker中运行的Flask应用找不到模板

转载 作者:行者123 更新时间:2023-12-02 21:11:57 25 4
gpt4 key购买 nike

当使用docker-compose来构建前端和后端时,我正在开发许多微服务和前端,前端无法从模板文件夹中找到home.html。当我将应用程序作为常规Flask应用程序运行时,它运行良好。只有合并了Docker后,我才会遇到这个问题。

├── backend
│   ├── app.py
│   ├── Dockerfile
│   └── requirements.txt
├── deployment.yaml
├── docker-compose.yaml
├── frontend
│   ├── app.py
│   ├── Dockerfile
│   ├── requirements.txt
│   └── templates
│   ├── home.html
│   ├── includes
│   │   ├── _formhelpers.html
│   │   ├── _messages.html
│   │   └── _navbar.html
│   └── layout.html
└── README.md

前端/app.py
from flask import Flask, jsonify, render_template
import requests
import json
import os

app = Flask(__name__)

@app.route("/hello_world")
def hello_world():
be_host = os.getenv('BACKEND_SERVICE_HOST', 'backend')
be_port = os.getenv('BACKEND_SERVICE_PORT', '5000')
url = 'http://{}:{}/hello_world'.format(be_host, be_port)
try:
res = requests.get(url)
except Exception:
return "Error with {}".format(url)
dictFromServer = res.json()
return render_template('home.html', msg=dictFromServer['message'])


if __name__=='__main__':
app.run(debug=True, host='0.0.0.0')

Docker文件
FROM python:3.6-alpine
WORKDIR /app
COPY requirements.txt /app
COPY app.py /app
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["app.py"]

requirements.txt
Flask
requests
jsonify

最佳答案

您尚未将模板文件夹复制到Docker容器中:

...
COPY app.py /app
COPY templates /app/templates
...

关于python - 在Docker中运行的Flask应用找不到模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53920323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com