Эта ошибка возникает, когда я пытаюсь запустить приведенный ниже код. Он отлично работает, когда я удаляю команду 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)