jinja2 UndefinedError: 'individual_page' is undefined

jinja2 UndefinedError: 'individual_page' is undefined

我正试图深入了解由用户制作的每个人 post。

@blogs.route('/individual_set/<int:set_id>')
def individual_set(set_id):
    individual_page = Set.query.get_or_404(set_id)
    return render_template('forms_page.html', individual_page = 
    individual_page)

这里的 Set 是数据库模型,包含 id、title、content 和其他东西。 但是,当我尝试访问使用 for 循环呈现 post 的页面时。我收到错误提示 individual_page 未定义。而我在上面定义了 individual_page

我做的一件事是尝试直接访问 /individual_page/1。它正在工作。每当我尝试访问下面的 HTML 页面时,它都不起作用。 这是每组渲染的页面。

      {% for each_set in sets %}
      <a href="{{url_for('blogs.individual_set',set_id = 
      individual_page.id)}}"></a>
      <div class="practice-set shover">
        <p class="practice-set-index">{{each_set.id}}</p>
        <div class="line-set"></div>
        <p class="set-content-text">{{each_set.title}}</p>
        <p class="set-plan">{{each_set.price}}</p>
      </div>
      </a>
      {% endfor %}

这是所有集合的查询。而在我尝试到达 /set_page 的那一刻。 显示错误。

@blogs.route('/set_page')
def set_page():
    sets = Set.query.order_by(Set.date_posted.desc())
    return render_template('sets_page.html',sets = sets)

这是负责重定向到 /set_page

的 HTML 片段
      <a
        href="{{url_for('blogs.set_page')}}"
        class="index-card-btn btn-primary"
        >Continue
      </a>

这段代码有问题:

@blogs.route('/ind_set/<int:set_id>')
def ind_set(set_id):
    ind_set= Set.query.get_or_404(set_id)
    return render_template('forms_page.html',ind_set=ind_set)

您的函数名为 ind_set 并且定义了路由,但您在下一行将其重新定义为其他内容:

ind_set= Set.query.get_or_404(set_id)

所以解决方法是重命名函数或变量,这样它们就不会发生冲突。事实上,我会建议重命名两者 - 为您的变量和函数使用更具描述性的名称。