8. ユーティリティ関数

kay.utils には、便利な関数がいろいろ揃っています。

kay.utils.set_trace()
pdb の set_trace を 適切な設定でセットします。
kay.utils.raise_on_dev()
開発環境でのみ、ランタイムエラーをあげます。
kay.utils.get_timezone(tzname)

タイムゾーンを取得します。

Parameter:tzname – タイムゾーンの名称
戻り値:datetime.tzinfo の実装
kay.utils.url_for(endpoint, **args)

エンドポイントへの URL を取得します。特殊なキーワード引数をとります。

_anchor: この文字列は URL アンカーとして使われます。

_external: True の場合、 フルサーバー名と http:// プリフィクスつきで、 URL を生成します。

Parameter:args – キーワード引数は URL を生成するのに使われます。
戻り値:エンドポイントへの URL を表す文字列
kay.utils.create_login_url(url=None)

ログインページの URL を取得します。

Parameter:url – ユーザがログインした後にリダイレクトされる URL です。未指定の場合、現在の URL が使われます。
戻り値:ログイン URL を表す文字列
kay.utils.create_logout_url(url=None)

ログアウトページの URL を取得します。

Parameter:url – ユーザがログアウトした後にリダイレクトされる URL です。未指定の場合、現在の URL が使われます。
戻り値:ログアウト URL を表す文字列
kay.utils.render_error(e)

Jinja2 テンプレートを使って、 werkzeug.exceptions.HTTPException のインスタンスをレンダリングします。

Parameter:ewerkzeug.exceptions.HTTPException の任意のサブクラスのインスタンスです。
戻り値:werkzeug.Response のインスタンス
kay.utils.render_to_string(template, context={}, processors=None)

テンプレートレンダリング用の関数です。 settings.CONTEXT_PROCESSORS の設定に従って、 コンテキスト用の変数を自動的に追加します。

パラメタ:
  • template – テンプレートのパス
  • context – テンプレートに渡すコンテキストのディクショナリ
  • processors – 必要に応じたプロセッサ
戻り値:

レンダリングされた文字列

kay.utils.render_to_response(template, context, mimetype='text/html', processors=None)

HTML ページをレンダリングするための関数です。

パラメタ:
  • template – テンプレートのパス
  • context – テンプレートに渡すコンテキストのディクショナリ
  • processors – 必要に応じたプロセッサ
  • mimetypewerkzeug.Response の mimetype
戻り値:

レンダリングされた文字列

kay.utils.to_local_timezone(datetime, tzname=settings.DEFAULT_TIMEZONE)

datetime オブジェクトをローカルタイムゾーンに変換します。

パラメタ:
  • datetime – UTC タイムゾーンの datetime オブジェクト
  • tzname – タイムゾーンの名称
戻り値:

新しいタイムゾーンの datetime.datetime object

kay.utils.to_utc(datetime, tzname=settings.DEFAULT_TIMEZONE)

datatime オブジェクトを UTC に変換して、 tzinfo を消します。

パラメタ:
  • datetime – ローカルタイムゾーンの datetime オブジェクト
  • tzname – タイムゾーンの名前
戻り値:

UTC タイムゾーンの datetime.datetime オブジェクト

kay.utils.get_by_key_name_or_404(model_class, key_name)

与えられたキー名でデータを取得して返します。失敗したら werkzeug.exceptions.NotFound をあげます。

パラメタ:
  • model_class – モデルクラス
  • key_name – model_class.get_by_key_name に渡すキー名
戻り値:

成功した場合は、モデルクラスのインスタンス

kay.utils.get_by_id_or_404(model_class, id)

与えられた ID でデータを取得して返します。失敗したら werkzeug.exceptions.NotFound をあげます。

パラメタ:
  • model_class – モデルクラス
  • key_name – model_class.get_by_key_id に渡す ID
戻り値:

成功した場合は、モデルクラスのインスタンス

kay.utils.get_or_404(model_class, key)

与えられた キー でデータを取得して返します。失敗したら werkzeug.exceptions.NotFound をあげます。

パラメタ:
  • model_class – モデルクラス
  • key_name – model_class.get に渡す キー
戻り値:

成功した場合は、モデルクラスのインスタンス

前のトピックへ

7. Jinja2 を使用する

次のトピックへ

9. Pagination

このページ