#javascript #html #sqlite #flask
#javascript #HTML #sqlite #flask
Вопрос:
Я разрабатываю веб-страницу для загрузки блогов с обложкой изображения. Я хочу загрузить файлы изображений с HTML-страницы в flask и сохранить их в своей системе. Я пробовал код для этого, но каждый раз, когда я запускаю код, он показывает мне 500 внутренних ошибок сервера. Кто-нибудь может мне с этим помочь.
Это мой HTML-файл — addblog.html
<form action="/addblog" method="post" enctype="multipart/form-data">
<div>
<label for="image_uploads" class="btn btn-primary">Upload Cover Image (PNG, JPG)</label>
<input type="file" id="image_uploads" name="image_uploads" accept=".jpg, .jpeg, .png">
</div>
<div class="preview">
<p>No files currently selected for upload</p>
</div><br>
<div class="form-group">
<label for="exampleFormControlTextarea1">Content</label>
<textarea class="form-control" id="exampleFormControlTextarea1" name="content" rows="10" cols="80"></textarea>
</div>
<button type="submit" class="btn btn-primary">Upload</button>
</form>
Это мой файл flask.
from flask import Flask, session, render_template, request, redirect
from flask_session import Session
from cs50 import SQL
from tempfile import mkdtemp
from werkzeug.security import check_password_hash, generate_password_hash
from werkzeug.utils import secure_filename
from helpers import login_required, convertToBinaryData, insertBLOB
import sqlite3
import os
app = Flask(__name__)
app.config["IMAGE_UPLOADS"] = "/home/ubuntu/FINAL_PROJECT/Blog_webapp/static/images/uploads"
# Configure session to use filesystem (instead of signed cookies)
app.config["SESSION_FILE_DIR"] = mkdtemp()
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
Session(app)
# Configure CS50 Library to use SQLite database
db = SQL("sqlite:///blog.db")
@app.route("/addblog", methods=["GET", "POST"])
@login_required
def add():
if request.method == "GET":
return render_template("addblog.html")
else:
image2 = request.files["image_uploads"]
image2.save(os.path.join(app.config["IMAGE_UPLOADS"], image2.filename))
content = request.form.get("content")
print(image,content)
insertBLOB(session["user_id"], image, content)
return render_template("addblog.html")
Это фрагмент моего терминала. введите описание изображения здесь
Комментарии:
1. Вам нужно показать нам полную обратную трассировку.
2. Один быстрый совет всегда сохраняйте
debug=True
при разработке приложения, чтобы вы могли видеть ошибки.3. Я добавил трассировку кода, отладчик. Но проблема в том, что когда страница загружается, когда я нажимаю кнопку Отправки, она не отправляет данные в метод POST action. Он застрял, я не могу определить проблему.