Представления колбы не работают должным образом после изменения положения представления в файле - PullRequest
0 голосов
/ 14 марта 2019

Когда я запросил tag_list, в переменной posts не были перечислены данные. И после изменения позиции над представлением self_entries все работало нормально. Но теперь я не могу получить данные просмотра self_entries. Что мне здесь не хватает? После изменения положения все падает, как и ожидалось, но вид, который находится внизу, вообще не отображает данные.

больше просмотров наверху

@app.route('/entries')
@login_required
def list():
    posts = models.Journal.select().order_by(models.Journal.created_at.desc())
    return render_template("entries.html", posts=posts)

# This View Works as expected
@app.route('/entries/<username>')
@login_required
def self_entries(username):
    posts = (models.Journal
    .select(models.User, models.Journal)
    .join(models.User)
    .where(models.User.username**username)
    .order_by(models.Journal.created_at.desc())
    )
    # for post in posts:
    #     print(post.title + str(post.created_at.date()) + post.tag)
    return render_template("entries.html", posts=posts)

# This view doesn't... the page displays as empty
@app.route('/entries/<tag>')
@login_required
def tag_list(tag):
    posts = (models.Journal
    .select()
    .where(models.Journal.tag == tag)
    .order_by(models.Journal.created_at.desc())
    )
    return render_template("entries.html", posts=posts)

больше просмотров внизу

entries.html

{% extends "layout.html" %}
{% block content %}
<div>
    <div>
        <h1>{{ hi }}</h1>
        {% for post in posts %}
            <article>
                <h2><a href="{{ url_for('detail', slug=post.slug ) }}">{{ post.title }}</a></h2>
                <time datetime="{{ post.created_at }}">{{ post.created_at.date() }}</time>
                <h3><a href="{{ url_for('tag_list', tag=post.tag) }}" >{{ post.tag }}</a><h3>
            </article>
        {% endfor %}
    </div>
</div>
{% endblock %}

1 Ответ

0 голосов
/ 14 марта 2019

Хорошо, понял.Оба маршрута ниже используют похожий API, т.е.'/ records /', поэтому существует конфликт.поэтому измените либо один.

@app.route('/entries/<username>')
@app.route('/entries/<tag>')

изменил @app.route('/entries/<tag>') на @app.route('/entry/<tag>'), это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...