я пытаюсь создать переменную окружения для моего URI базы данных.когда я жестко закодировал URI без использования ev, он работает нормально.когда я пытаюсь использовать ev, я неудачен.
import os
from flask import Flask, render_template, redirect, request, url_for
from pymongo import MongoClient
from bson.objectid import ObjectId
#connect to mongodb
app = Flask(__name__)
client = os.environ.get('MONGO_URI')
db = client.recipebook
@app.route('/')
#returning the index.html template
def index():
recipes = [recipe for recipe in db.recipes.find({})]
return render_template('index.html', recipes=recipes)
#setting up flask
if __name__ == '__main__':
app.run(host=os.getenv('IP'), port=os.getenv('PORT'), debug=True)
результат, который я ожидаю, заключается в успешной работе строки подключения.когда у меня есть полный URI в моем коде, он работает.но когда я использую переменную окружения, я получаю сообщение об ошибке:
"строка 9, в db: MongoClientobject = client.recipebook AttributeError: у объекта 'str' нет атрибута 'recipebook' '
когда я удаляю строку 9 все вместе, я получаю успешное соединение, но с сообщением об ошибке «NameError: имя« db »не определено»