Использование шаблона Jinja в качестве аргумента в url_for

Я пытаюсь создать динамический URL для своего поста. Я использую флягу здесь и читаю объекты из записей, одну за другой, чтобы создать URL для поста.

<div class="col-lg-8 col-md-10 mx-auto">
          {% for rec in records %}
          <div class="post-preview">
            <a href={{ url_for('post',record={{ rec }} ) }}>
              <h2 class="post-title">
                {{ rec.title }}
              </h2>
              <h3 class="post-subtitle">
                {{ rec.content[0:100] }}...
              </h3>
            </a>
            <p class="post-meta">Posted by
              <a href="#">author</a>
              {{ rec.timestamp }}</p>
          </div>

Я хочу, чтобы весь объект, который я читаю через цикл, передавался в качестве аргумента для построения ссылки. При этом я не могу запустить ссылку, и я получаю эту ошибку,

File "/Users/ankulgup/Documents/blog/app/templates/index.html", line 76, in template
<a href={{ url_for('post',record={{rec}} ) }}> TemplateSyntaxError: expected token ':', got '}'

Когда я удалил фигурные скобки шаблона Jinja из rec, сформированный URL-адрес был неправильным. Как правильно это сделать?

Это мой файл rout.py

   def index():
    page_title="My Ideas My Space"
    page_subtitle="Where I speak in a way I enjoy the most"
    records = db.session.query(Post).order_by(Post.timestamp.desc()).limit(5).all()
    return render_template('index.html', records=records, title=page_title, subheading=page_subtitle)

@blog.route('/about-me')
def about():
    page_title="About Me"
    page_subtitle="Who am I"
    return render_template('about.html', title=page_title, subtitle=page_subtitle)

@blog.route('/poems')
def poems():
    return render_template('poems.html')

@blog.route('/post')
def post(record):
    return render_template('post.html', post_data=record)

0 ответов

Другие вопросы по тегам