0
問題が何であるかわかりませんが、私の関数が実行するとデータベースからクエリリストを取得する必要があり、オブジェクトが含まれていない場合はFalseとelse部分Ifステートメントは常にTrueです。Jinja2テンプレート
最初の部分の作業を実行しますが、私のデータベースが空の場合でも、それは本当、
{% if new_bookmarks %}
<div id='newBookmarks'>
{% for bm in new_bookmarks %}
<a href='{{ bm.url }}'><span>{{ bm.user.username }}</span>
Added: {{ bm.url }} <span>{{ bm.description }}</span></a>
{% endfor %}
</div>
{% else %}
<div>
Something else
</div>
{% endif %}
@app.route('/')
@app.route('/index')
def index():
return render_template('index.html', new_bookmarks=Bookmark.newest(5))
を渡す必要があります
class Bookmark(db.Model):
id = db.Column(db.Integer, primary_key=True)
url = db.Column(db.Text, nullable=False)
date = db.Column(db.DateTime, default=datetime.utcnow)
description = db.Column(db.String(300))
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
@staticmethod
def newest(num):
return Bookmark.query.order_by(desc(Bookmark.date)).limit(num)
ありがとう、理解しようとしている私には、 –
私は外来のキーとしてこの行を別のテーブルに持っていますが、これは問題を引き起こしていますか? bookmarks = db.relationship( 'Bookmark'、backref = 'user'、lazy = 'dynamic') –