2010年12月15日22:54 Google App Engine:ブラウザの言語設定を取得する方法 カテゴリGoogle App Engine Google App Engine(Python)でブラウザの言語設定を取得する方法をメモ。 def get(self): langs = self.request.headers["Accept-Language"] logging.info(langs) とすればOKです。こんな感じの文字列を取得できます。 ja,en-US;q=0.8,en;q=0.6,en-AU;q=0.4 例えば、日本語が含まれているか調べたいときは、こんな感じでしょうか。 for lang in self.request.headers["Accept-Language"].split(","): if(lang.startswith("ja")): # JAPAN
生まれ変わった「Days of Liris」。プログラミングのこと、Pythonのこと、気になったソフトウェアのこと、身の回りのこと、いろんなこと。など python界のWebフレームワークと言えばDjangoばかりがもてはやされていますが、僕はFlaskが好きで使っています。いろんなものがgeventベースで動いているので、Djangoは重すぎるのです。さて、国際化についてはTracを作っているところが作っているBabelがありますが、それをFlaskから使いやすくしたものがFlask-Babelです。Flask-Babel関係のメモです。 1. インストール $ pip install Flask-Bable です。インストールの仕方って必要? 2. コマンドを使ってメッセージの抽出とか翻訳とか 次の設定ファイルを作ります。pythonのファイルとjinjaのhtmlテンプレートから翻
■[Python]BabelのLocaleクラス タイムゾーンや言語名を網羅しているので、ドロップダウンリストの項目を作るのに便利そう。 こういうのが欲しかったんですよ! タイムゾーン(time_zones) >>> from babel import Locale >>> locale = Locale('ja') >>> for k, v in locale.time_zones.items(): ... print k, v['city'] ... Atlantic/Canary 大西洋/カナリー Antarctica/Mawson 南極/モーソン Europe/Paris パリ America/Buenos_Aires アメリカ/ブエノスアイレス Australia/Melbourne オーストラリア/メルボルン Pacific/Wake 太平洋/ウェイク America/Nipi
BabelとはBabelはedgewallによって開発されているI18N, L10Nのためのライブラリです。Babel http://babel.edgewall.org/ Pythonでは標準ライブラリとしてGNU gettextが組み込まれており、カタログをビルドするためのスクリプト(msgfmt.pyとか)も標準でありますが、これだけでは不便です。例えば、Webアプリケーションを開発していると、テンプレート内の文字列を国際化したいというようなニーズがどうしても出てくるでしょう。Babelはこうした局面で使用することを目的として開発されているライブラリ・ツールのようです。 Djangoを使っていると、make-messages.py, compile-messages.pyで上記のような要求が満たされてしまうので、Babelのようなライブラリは全く必要がないと思います。しかし、「俺フレ
hgwebcommitのi18nでFlask-Babelを使ったのでメモ。 Flask-BabelはFlaskのBabelヘルパー。 Flask-Babel — Flask Babel 1.0 documentation インストール pip install Flask-Babelflaskext.babelを使えるようになる。 Flask-Babelをアプリケーションに適用する applicationからBabelオブジェクトを作る Flaskのインスタンスを引数にしてBabelのインスタンスを作っておく。 babelオブジェクトのデコレータメソッドでlocaleを取得するように書く。 # coding:utf-8 from flask import Flask, g, request from flaskext.babel import Babel app = Flask(__name
Marissa Mayer's Next Big Thing: "Contextual Discovery" — Google Results Without Search Today at LeWeb ’10 in Paris, France, our own Michael Arrington took the stage to talk with Google’s Marissa Mayer. Mayer recently took a new job within Google. Technically, she’s now the head of consumer products for the company. So what’s she working on? Well, as we’ve all heard, location is a big part of it. B
Pantoneが2011年セレクションしたカラーは、赤みがかったダイナミックなピンク「ハニーサックル」。 Color of the Year for 2011 PANTONE 18-2120 Honeysuckle [ad#ad-2] ハニーサックルには、信頼、勇気、チャレンジ精神といった志を高める思いがこめられています。 この赤みがかったピンクは見る者を強烈に魅惑します、実際にハチドリはこの花の香りではなく色に魅了され惹きつけられます。 女性は衣服・アクセサリー・化粧品、男性はタイ・シャツ・スポーツウェアなど、昼夜を問わず人目をひくカラーとなるでしょう。 インテリアとしても、空間にエネルギッシュなセンスを加えることができます。 PANTONE Color Systems: 18-2120 「ハニーサックル:18-2120」のPantoneのカラーシステムです。
でいられる、成長するためには理想的な環境です。 ※参考「情熱プログラマー」第一章の4 とは言え、そういう状況で安穏としているわけにもいかないので、少しでも早く周囲にキャッチアップできるよう努めました。 それらについて、これから述べます。 ■周りの人の助力を仰ぐ 入社直後にアサインされたプロジェクトが佳境を迎えていたことに加え、個人的な経験やスキルは以下のような状況でした。 symfony→使ったこと無し TDD(テスト駆動開発)→未経験 memcached→使ったこと無し Git→使ったこと無し 結構テンパっていたのですが、良き先輩であるチームメンバーに積極的に教えを乞いました。 質問する際は、ノートに図を書いたりして持って行くと、こちらの「聞きたいこと、理解できていないこと」が伝わりやすくなります。 ※無闇矢鱈と質問しに行ってお仕事の邪魔をしたことがあります、ゴメンナサイ...
AI has been used to produce everything from images, movies, as well as chatbots. Now…
Settings Django has autoescape on by default, but Jinja2 has it off by default. To turn it on, add autoescape=True to your Environment() constructor The way django marks forms and other "standard" html generating entities as "safe" from auto-escaping is not picked up by Jinja2, so you'll have to use the |safe filter on it explicitly. Filters Jinja2 comes with many filters. You can re-use django fi
id:mopemope に Twitter 上で色々教わりながら解決したネタ。jinja2 には Undefined というのがありまして、簡単に言えばテンプレート上で定義されていない場合、どう定義するのかというものだと思っているのですが(勘違いしてたらつっこみお願いします)。 これがまた、ややこしくて。Django の場合、テンプレートにおける未定義変数はスルー(エラーを無視)するのですが jinja2 は冷静に UndefinedError が帰ってきます。例えば... {{ spam.eggs }} という書き方で spam が未定義の場合は Django では無視、jinja2 では見事に UndefinedError が返ってきます。これだと色々困るので、なんとかならないかなぁと思って調べいたら解決策がありました。 jinja2 は Environment を生成してそこでテンプ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く