как я могу сделать столбец бд «содержимое» таким, чтобы он стал уцененным содержимым для вывода в jinja?

#python #flask

Вопрос:

models.py

 class User(db.Model, UserMixin):  # table name: user
    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)
    password = db.Column(db.String(60), nullable=False)
    posts = db.relationship('Post', backref='author', lazy=True)

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


class Post(db.Model):   # table name: post
    id = db.Column(db.Integer, primary_key=True)
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Post('{self.date_posted}')"

 

main.py

 @main.route('/')
def index():
    page = request.args.get('page', 1, type=int)
    posts = Post.query.order_by(Post.date_posted.desc()).paginate(page=page, per_page=5)

    return render_template('index.html', posts=posts)
 

Мой вопрос в том, как я могу сделать столбец базы данных «содержимое» таким, чтобы он стал содержимым уценки для вывода в jinja?

Комментарии:

1. main.py псевдокод для переноса содержимого в формат уценки, но объект «Публикация» / «Разбиение на страницы» не может быть повторен posts = [] for note in notes: note = dict(note) note['content'] = markdown.markdown(note['content']) posts.append(note)

2. добавьте новую информацию, о которой идет речь, — не в комментарии. Она будет более читабельной, и ее увидит больше людей.

3. всегда помещайте полное сообщение об ошибке (начинающееся со слова «Обратная связь») в вопрос (не комментарий) в виде текста (не скриншот, не ссылка на внешний портал). Есть и другая полезная информация.

4. похоже, у вас появилась новая проблема — поэтому вам следует создать новый вопрос на новой странице.

5. Спасибо вам за ваш комментарий. Я попробую это сделать.

Ответ №1:

Попробуйте Уценку Колбы

Устанавливать:

 pip install flask_markdown
 

Документация

Комментарии:

1. Спасибо за ответ. но объект «Запись» / «Разбиение на страницы» не может быть повторен.

2. Я до сих пор не знаю, как решить проблему «»Сообщение» / «Разбиение на страницы» объект не может быть повторен»

3. Я думаю, вам нужно прочитать этот пример . Я надеюсь, что это вам поможет

4. Спасибо. Я изучу приведенный вами пример.