2

ブログ サイトを作成していて、そのようなルーティングを設定したい場合

@app.route('/<username>/<postname>', methods=['GET']) 

「username」という名前のユーザーの「postname」という名前の投稿にルーティングします。これを認識させるにはどうすればよいですか? 私は次のようなことをしようとしてきました

<a href={{ url_for('/', username=user.name, postname=post.name) }}>{{post.name}}</a>

また、ユーザーが最初にそれらにアクセスしようとしているかどうかをチェックするために、Flask が特別なキーワード /login または /about を理解してこれを調整しようとしています。これらのチェックを実装するにはどうすればよいですか?

4

1 に答える 1

4

テンプレートの最初の引数url_forは、装飾したビュー関数の名前にする必要があります。

@app.route('/<username>/<postname>', methods=['GET'])
def view_user_post(username, postname):
    ^^^^^^^^^^^^^^

これで、テンプレートに次のように記述できます。

{{ url_for('view_user_post', username=user.name, postname=post.name) }}

これにより、コードベースの他の場所で URL を更新することなく、ルート内の URL を変更できます。

于 2013-04-09T23:45:20.160 に答える