pymon go .errors.OperationFailure: Ошибка аутентификации. Мне нужно сохранить файлы из форм html - PullRequest
0 голосов
/ 29 мая 2020

Эта ошибка возникает, когда я пытаюсь запустить приведенный ниже код. Он отлично работает, когда я удаляю команду mon go .save. В любом случае текстовые данные все еще сохраняются в базе данных. Мне тоже нужно хранить изображения. Как это сделать?

Python Код:

from flask import Flask, render_template, request, redirect, url_for

import pymongo
from pymongo import MongoClient
from flask_pymongo import PyMongo

app = Flask(__name__)

# configuration
app.config["MONGO_URI"] = "mongodb://Aayushi:Aayushi4799@localhost:27017/Test_Db"
app.config["DB_NAME"] = "Test_Db"
app.config["SECRET_KEY"] = "Aayushi4799"
print("configured")

# connect to mongodb
mongo1 = PyMongo(app)
db = mongo1.db
col = mongo1.db["Test_Db"]
print("connected")

# create new database
my_client = pymongo.MongoClient("mongodb://localhost:27017/")
my_db = my_client["Test_Db"]
print(my_client.list_database_names())

#connect to collections
my_col = my_db["Test_Col"]


@app.route('/')
def home():
    return render_template("forms.html")


@app.route('/view', methods=['POST'])
def view():
    form_details = {'name': request.form["name"], 'email': request.form["email"], 'pass': request.form["pass"]}
    form_img = request.files["file"]
    x = my_col.insert_one(form_details)
    y = mongo1.save_file(form_img.filename, form_img)
    if x and y:
        return redirect(url_for("thank_you"))
    else:
         return "Try Again"


@app.route('/thankyou')
def thank_you():
    return render_template("thankyou.html")

if __name__ == '__main__':
    app.run(host='192.168.1.7', port=int(5000), debug=True)

1 Ответ

0 голосов
/ 29 мая 2020

Я сам обнаружил ответ на свой вопрос, поэтому делюсь им здесь для всех, кто может столкнуться с той же проблемой. Перейдите по предоставленной ссылке, и я думаю, вам будет удобно набрать go. https://pythonise.com/series/learning-flask/flask-uploading-files

...