LoginSignup
0
0

More than 5 years have passed since last update.

Pyramidのテンプレート(pt)のリンクにパスパラメータを混ぜる

Posted at

クエリパラメータではなくて、URLのパスにパラメータを入れ込むことがあると思いますが、それの実現方法。
http://..../user/12345
みたいなやつ。

まずは、パスの設定

__init__.py
from pyramid.config import Configurator

def main(global_config, **settings):
  config = Configurator(settings=settings)
  config.add_route('user', /user/{user_id})

これで
http://.../user/(パラメータ)を受け付けられるようになります。
次に、このパスパラメータを送るテンプレート(pt)

pathparam.pt
<a href="${request.route_url('user', user_id='12345')}">パラメータ固定</a>

<a href="${request.route_url('user', user_id=user_id)}">プログラムから動的に</a>

route_urlメソッドに_init_.pyで設定したパスパラメータの{user_id}を引数指定することでパラメータを渡すことができるようになります。
受け取るViewは

@view_config(route_name='user')
def func(request):
  user_id = request.matchdict['user_id']
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0