私はフラスコを学んでいますが、少し問題があります。 インデックステンプレートを作成しました。ここにはブログ投稿のタイトルがあります。Flaskでブログを作成する
{% for title in titles %}
<!-- Main Content -->
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="post-preview">
<a href="{{ url_for('post')}}">
<h2 class="post-title">
{{ title[0] }}
</h2>
</a>
<p class="post-meta">Posted by <a href="#">{{ author }}</a></p>
</div>
</div>
</div>
</div>
{% endfor %}
ここは私のpost.htmlテンプレートの一部です。
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<p>{{ post_text1 | safe }}</p>
<hr>
<div class="alert alert-info" role="alert">Posted by
<a href="#" class="alert-link">{{ author }}</a>
</div>
</div>
</div>
</div>
私はsqlite3を使用しています。現在、すべてのタイトルは、最初の投稿の最初のテキストと同じpost.htmlにつながります。 各タイトルを投稿テキストに直接付けるにはどうすればよいですか?つまり、最初のタイトルをクリックすると、post.htmlが表示され、最初のテキストが表示されます。 2番目のタイトルには2番目のテキストが表示されます。 私はプログラムを書くべきですか、それはすべての投稿のための新しいHTMLを作成するか、または他の方法がありますか?
@app.route('/')
def index():
db = connect_db()
titles = db.execute('select title from entries')
titles = titles.fetchall()
author = db.execute('select author from entries order by id desc')
author = author.fetchone()
return render_template('index.html', titles=titles[:], author=author[0])
@app.route('/post/')
def post():
db = connect_db()
post_text1 = db.execute('select post_text from entries')
post_text1 = post_text1.fetchone()
author = db.execute('select author from entries where id=2')
author = author.fetchone()
return render_template('post.html', post_text1=post_text1[0], author=author[0])
インデックスと投稿ビューを投稿できますか? –