AttributeError: объект 'str' не имеет атрибута 'recipebook' - PullRequest
1 голос
/ 28 мая 2019

я пытаюсь создать переменную окружения для моего 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 »не определено»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...