Закрыто, опечатка: python flask sqlalchemy - запрос на получение добавляет ') в конце имени файла искомого изображенияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Закрыто, опечатка: python flask sqlalchemy - запрос на получение добавляет ') в конце имени файла искомого изображения

Сообщение Anonymous »

Итак, я следовал руководству, и по какой-то причине в тот момент, когда страница запрашивает файл изображения текущего_пользователя, в конце имени файла изображения в запросе get есть ') .
вот модель:

Код: Выделить всё

from flaskproject import db, login_manager
from datetime import datetime, timezone
from flask_login import UserMixin

class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False, default="default.jpg")
password = db.Column(db.String(60), nullable=False)

posts = db.relationship("Post", backref="author", lazy="subquery")

def __repr__(self):
return f"User('id={self.id}', '{self.username}', '{self.email}', '{self.image_file}')"

routes.py

Код: Выделить всё

from flaskproject import app, db, bcrypt
from flaskproject.forms import RegistrationForm, LoginForm
from flask import render_template, redirect, flash, url_for, request
from flaskproject.models import Post, User
from flask_login import login_user, current_user, logout_user, login_required

@app.route("/my-account/")
@login_required
def my_account():
return render_template("my-account.html", title="My Account")

html-страница:

Код: Выделить всё



[img]{{ url_for([/img]

{{ current_user.username }}
{{ current_user.email }}





Структура файла:

Код: Выделить всё

foldername
--flaskproject
----static
------profile-pics
--------default.jpg
----templates
----__init__.py
----forms.py
----models.py
----routes.py
--run.py
"init.py" (двойное подчеркивание)

Код: Выделить всё

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager

app = Flask(__name__)

SECRET_KEY = "SECRET_KEY"
app.config["SECRET_KEY"] = SECRET_KEY
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///site.db"

db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
login_manager = LoginManager(app)
login_manager.login_view = "login"
login_manager.login_message_category = "danger"

from flaskproject import routes

run.py

Код: Выделить всё

from flaskproject import app

if __name__ == "__main__":
app.run(debug=True)

[*]
[*]
[*]

Затем, когда я загружаю маршрут my_account, запрос GET выдает мне это

Код: Выделить всё

"GET /static/profile-pics/default.jpg') HTTP/1.1" 404 -
Итак, по какой-то причине в конце имени файла есть ') . Я проверил базу данных, вот как выглядит файл изображения:

Код: Выделить всё

>>>user
User('id=1', 'admin', '[email protected]', 'default.jpg')
>>>user.image_file
'default.jpg'
это должна быть обычная строка, верно? Сначала маршрут должен был включать этот url_for('static') и переходить на html-страницу, но я изменил его на то, что есть сейчас, прямой html url_for, и ничего не изменилось, то же ') в конце имени файла . Что мне показалось самым странным, так это то, что когда я попытался выполнить current_user.image_file[:-2], чтобы вырезать последние 2 символа, он обрезал 2 символа ПЕРЕД ').
Что может быть быть причиной этого '), появляющегося в конце и портящего запрос get, и как мне это исправить? Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... d-of-searc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»