创建注册表单时如何使用 Flask 将图像上传到 mongodb
How do i upload an image to mongodb using flask when creating a registration form
请问如何在创建注册表时使用 flask 和 mongodb 上传和检索图像?
<form method="post" action="{{ url_for('edit') }}">
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">First name</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="fname" value="Veronica">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Last name</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="lname" value="Okoro">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Email</label>
<div class="col-lg-9">
<input class="form-control" type="email" name="email" value="vero@example.com">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Change profile</label>
<div class="col-lg-9">
<input class="form-control" type="file" name="img">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Address</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="address" value="" placeholder="Street">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label"></label>
<div class="col-lg-6">
<input class="form-control" type="text" name="city" value="" placeholder="City">
</div>
<div class="col-lg-3">
<input class="form-control" type="text" name="state" value="" placeholder="State">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Username</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="username" >
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Password</label>
<div class="col-lg-9">
<input class="form-control" type="password" name="password" >
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Confirm password</label>
<div class="col-lg-9">
<input class="form-control" type="password" name="cpassword" >
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label"></label>
<div class="col-lg-9">
<input type="reset" class="btn btn-secondary" value="Cancel">
<input type="submit" class="btn btn-primary" value="Save Changes">
</div>
</div>
</form>
每当我尝试填写表格并选择图像时,我总是收到 ERROR 400 BAD REQUEST 但当我删除图像文件时表格将提交。
这是保存到 MongoDB 中的 python 路由。我真的不知道我做错了什么任何帮助将不胜感激。
@app.route('/edit', methods=['POST'])
def edit():
profile_image = request.files['img']
mongo.save_file(profile_image.filename, profile_image)
mongo.db.user.insert(
{
"fname": request.form.get('fname'),
"lname": request.form.get('lname'),
"email": request.form.get('email'),
"address": request.form.get('address'),
"city": request.form.get('city'),
"state": request.form.get('state'),
"password": request.form.get('password'),
"profile_image": profile_image.filename
}
)
flash("data successfully captured", "success")
return render_template('admin/profile.html', title='KingVera | Profile')
我不断收到 ERROR 400 BAD REQUEST
您尚未启用表单发送媒体。您可以这样完成:
<form method="post" action="{{ url_for('edit') }}" enctype="multipart/form-data">
请问如何在创建注册表时使用 flask 和 mongodb 上传和检索图像?
<form method="post" action="{{ url_for('edit') }}">
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">First name</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="fname" value="Veronica">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Last name</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="lname" value="Okoro">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Email</label>
<div class="col-lg-9">
<input class="form-control" type="email" name="email" value="vero@example.com">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Change profile</label>
<div class="col-lg-9">
<input class="form-control" type="file" name="img">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Address</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="address" value="" placeholder="Street">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label"></label>
<div class="col-lg-6">
<input class="form-control" type="text" name="city" value="" placeholder="City">
</div>
<div class="col-lg-3">
<input class="form-control" type="text" name="state" value="" placeholder="State">
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Username</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="username" >
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Password</label>
<div class="col-lg-9">
<input class="form-control" type="password" name="password" >
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label">Confirm password</label>
<div class="col-lg-9">
<input class="form-control" type="password" name="cpassword" >
</div>
</div>
<div class="form-group row">
<label class="col-lg-3 col-form-label form-control-label"></label>
<div class="col-lg-9">
<input type="reset" class="btn btn-secondary" value="Cancel">
<input type="submit" class="btn btn-primary" value="Save Changes">
</div>
</div>
</form>
每当我尝试填写表格并选择图像时,我总是收到 ERROR 400 BAD REQUEST 但当我删除图像文件时表格将提交。 这是保存到 MongoDB 中的 python 路由。我真的不知道我做错了什么任何帮助将不胜感激。
@app.route('/edit', methods=['POST'])
def edit():
profile_image = request.files['img']
mongo.save_file(profile_image.filename, profile_image)
mongo.db.user.insert(
{
"fname": request.form.get('fname'),
"lname": request.form.get('lname'),
"email": request.form.get('email'),
"address": request.form.get('address'),
"city": request.form.get('city'),
"state": request.form.get('state'),
"password": request.form.get('password'),
"profile_image": profile_image.filename
}
)
flash("data successfully captured", "success")
return render_template('admin/profile.html', title='KingVera | Profile')
我不断收到 ERROR 400 BAD REQUEST
您尚未启用表单发送媒体。您可以这样完成:
<form method="post" action="{{ url_for('edit') }}" enctype="multipart/form-data">