Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

キーワード付きURLに対してurl_forを使う

url_forの使い方

キーワード付きURLを定義したときにurl_forの使い方がわからなかったのでメモ。


urls.pyを下のようにしたときに

from kay.routing import (
  ViewGroup, Rule
)

view_groups = [
  ViewGroup(
    Rule('/', endpoint='index', view='myapp.views.index'),
    Rule('/<username>/post', endpoint='post', view='myapp.views.trophy'),
  ),
]

/myapp/nilfs/post
というURLにアクセスできるようになる。

view.pyやテンプレートファイルでurl_forを使いたいとき

url_for('myapp/post', username='nilfs')

とすると、/myapp/nilfs/post が返ってくる。
名前付き引数で適当に渡せばいいみたい。ドキュメントのどこかにあった書いてあった
気がするんだけど、調べられなかったのでこれでスッキリ。