при попытке использовать "URL_FOR" в jinja2 я получаю ошибку 404, я что-то упустил? - PullRequest
2 голосов
/ 02 июля 2019

, поэтому я пытаюсь создать функцию обновления на моем MongoDB. Веб-страница, которую я создаю, должна быть полностью работоспособна через интерфейс. и создание, и чтение завершены, но я не могу заставить свое обновление работать. Я пытаюсь извлечь данные из БД и отобразить их на веб-странице, чтобы их можно было редактировать с помощью формы. Но я продолжаю получать сообщение об ошибке «Монго не определено»

Я дважды проверил весь синтаксис и т. Д. Насколько мне известно, весь мой код кажется правильным. однако я использую оболочку монго, а не атлас монго, так что мне интересно, может ли это быть причиной? - если это связано с использованием вместо монго оболочки, как бы я написал это?

@app.route('/edit_recipe/<recipe_id>')
def edit_recipe(recipe_id):
    the_recipe = mongo.db.recipes.find_one({"_id": ObjectId(recipe_id)})
    all_categories = mongo.db.categories.find()
    return render_template('editrecipe.html', recipe=the_recipe, categories=all_categories)

        <li>
            <div class="collapsible-header">
                <div class="col s3">
                    <i class="material-icons">expand_more</i>
                    <a href="{{url_for('edit_recipe', recipe_id=recipe._id)}}"class="waves-effect waves-light btn btn_small">Edit</a>

так что я должен получить базовую форму, предварительно заполненную данными из базы данных. вместо этого я получаю это сообщение об ошибке:

"Traceback (последний вызов был последним): Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 2328, в вызов вернуть self.wsgi_app (environment, start_response) Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 2314, в wsgi_app response = self.handle_exception (e) Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 1760, в handle_exception ререйз (exc_type, exc_value, tb) Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask_compat.py", строка 36, в ререйзе повысить ценность Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 2311, в wsgi_app response = self.full_dispatch_request () Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 1834, в full_dispatch_request rv = self.handle_user_exception (e) Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 1737, в handle_user_exception ререйз (exc_type, exc_value, tb) Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask_compat.py", строка 36, в ререйзе повысить ценность Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 1832, в full_dispatch_request rv = self.dispatch_request () Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ venv \ lib \ site-packages \ flask \ app.py", строка 1818, в dispatch_request вернуть self.view_functionsrule.endpoint Файл "C: \ Users \ Jakey Poo \ PycharmProjects \ recipebook \ app.py", строка 38, в edit_recipe the_recipe = mongo.db.recipes.find_one ({"_ id": ObjectId (recipe_id)}) NameError: имя 'mongo' не определено "

это мои требования.txt:

Click==7.0
dnspython==1.16.0
Flask==1.0.3
Flask-PyMongo==2.3.0
itsdangerous==1.1.0
Jinja2==2.10.1
MarkupSafe==1.1.1
pymongo==3.8.0
Werkzeug==0.15.4
...