Pyramid, Python | 21:54入力エラーがあれば画面を戻すありふれたビューの話よく、webアプリでは 入力エラーが発生したら画面を戻す。 入力値が正常なら処理を続ける。こういう処理を書くことがある。Djangoを例に取ると、 def search(request): form = SearchForm(request.GET) if not form.is_valid(): return TemplateView(request, "search/failed.html", {"form" : form}) datas = Person.objects.filter(**form.cleaned_data) return TemplateView(request, "search/ok.html", {"form" : form, "datas" : datas}) こうい
Pyramid, Python | 23:25サブルートとResource Factoryの指定Pyramidのサブルートの付け方: Djangoのurls.pyみたいなやつ - 今川館この記事でPyramidではpyramid.config.Configurator.includeメソッドには引数route_prefixを取ることができ、サブルートの定義が可能であることを説明した。内容を簡単にさらっておくと、 def juice(request): return Response("AppleJuice") def include_apple(config): config.add_route("apple_juice", "/juice") config.add_view(juice, route_name="apple_juice") config = Configurator()
Python, Pyramid | 21:55view_configのrequest_param引数shirlyのソースコードを読んでいて気づいたことですが、Pyramidのview_configにはrequest_paramという引数を取ることができます。これは名前の通り、リクエストパラメータを見てビューを振り分けたいときに使うものです。 "foo=1" こう書くとfooという名前のパラメータの値が1である場合にマッチ "foo" とだけ書くとfooというパラメータが送信されてきたらマッチこういうルールです。どのボタンを押したかはリクエストパラメータに送られてくるwebで画面でボタンを押したときは押したボタンがリクエストパラメータになって送信されるというルールがあります。(inputタグで書いたとき。buttonタグで書くとどうなるのかは未確認)なので、request_param引数を使
Python, Pyramid, Django | 10:05Pyramidの場合はreifyデコレータを使うまたshirlyのソースコードを読んでいたのですが、"?"と思うことがありました。 from pyramid.decorator import reify class ShirlyResource(object): …(中略) def query_project(self): return Project.query def add_project(self, project): return DBSession.add(project) @reify def project(self): if 'project_name' not in self.request.matchdict: return None try: project = self.query_project().
pyramidは、flaskのように、1ファイルで完結する1ファイルアプリケーションを書くことができます。 また、規模の大きな開発のために、複数のモジュールに切り分けて記述することも可能です。 今回は1ファイルでの、pyramidアプリケーションでhello worldを表示するところまでを行います。 agenda 今回作るのは単にhello worldと表示するだけのアプリケーションです。 動的な機能をまったく加えていないので、静的なhtmlを表示するのと何ら代わりがありません。 以下の手順に分けて説明します。 install setup coding install pip などを使いましょう。 (注意:詳細は後述しますが、現在pipでバージョン指定なしで入るpyramidのバージョンは1.3です。1.3と1.2では、デプロイまわりのコマンドのインターフェイスが異なっています。 ただし
Pyramid, Python | 21:37PyramidでビューとURLのPathを紐づける方法PyramidでビューとURLのPathを紐づける為には以下の二つの手順を踏む。pyramid.config.Configurator.add_routeを呼んでルートの名前を登録する。pyramid.config.Configurator.add_viewを呼んで予め登録したルートの名前とビューを紐づける。コードを書くときはこんな感じになる。 from pyramid.config import Configurator from pyramid.response import Response config = Configurator() config.add_route("bucho", "/bucho") def show(request): return Response("Bu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く