例のあれ(仮題)

むしろ一昨日参ります。

“django”な記事の一覧画像一覧

6 Pages 1 2 3 4 5 6 >

それなんてWebObjects。 - 2008/9/10 (水) p.m.10:19 -

 DjangoCon2008 - アクセンスのおまけ - Trac

究極的には、ストレージはRDBMSでなくても対応できるような気がしてきました

 それなんて(ry。

今後の課題として、DBの実装にカップリングしない集約メソッド(sumとかcountとかavgとか)を挙げていました。

 だからそれなんて(ry

 WO厨のウザさを全力でアピール。

 期待してるよ、Djangoさん。

Django 1.0 リリース! - 2008/9/7 (日) p.m.07:57 -

 Django 1.0 が遂にリリースされました。 | Djangoと日本の仲間たち

 ついにPython製WebアプリケーションフレームワークであるところのDjangoが1.0に到達しました、目出たい。

 思えば、私がDjangoなるモノに始めて触れたのは0.95がリリースされたその次の日でありました。これは狙ったわけではなくてたまたまそうなったのですけど、いいタイミングだったなぁとちょっと思っていたりして。そうそう、それまでPythonは憧れの言語で、かつ手をださないものだったので未経験でありましたよ。ある人に薦められてちょいとやってみようと思ったレベル。
 その時はチュートリアルだけやって、「なるほど面白い、格好いい」とは思ったのだけども、当時ほら、WebObjectsとかが大変とても微妙な時期だったりしたからさ。なんとなくもうちょっとこっちでみたいな気分だったし、今でも“WebObjects >>>>>>> Django”みたいに思っているくらいだからあまりその気にはなっていなかったりして。

 でも、その数ヶ月後、色々と状況に変化があったりもして、気持ち的にも色々やってみたくもあったので、とりあえず自分で使う用のブログっぽいものを作ろうとしてみた。あー、某スパムの人のblogkitとかいうのを凄く参考にさせて頂きました(Djangoのblogキット | スパムとか)。いや、あまり面影がないという話もあるけど、元がそういうものだからそういうものなんじゃないの。
 でまぁ、別にそのアプリを「れいあれ」として採用する気なんてなかったんですよ、本当は。やってみたかったから作ってみただけ、そんなノリですから。当時のこのページはWebObjectsで稼働していて、意地でも維持してやるとかそんな気持ちも強かったですし、前述の様に“WebObjects >>>>>>>>>>>>>>> Django”とか思っていましたから(←まぁ、比べる様なモノじゃないのですけどね)。実際、最初は別ページとして公開していたりもしました。
 しかしまぁ、色々思うところあり、こっちでいいかなとお乗り換え。レンタルサーバにも移行できて、部屋も静かに奇麗さっぱり。ソースも垂れ流して今の様な体制に。

 現在はDjangoどころかPythonにすら縁遠い生活を送っておりますので、1.0への追従は全くできておりません。できておりませんが、「そのうち!」という気持ちだけはありますよ。なんだかんだで大好きであります、PythonもDjangoも。これからも超よろしく!

Django 1.0 beta 1 released! - 2008/8/15 (金) p.m.11:29 -

 Django | Weblog | Django 1.0 beta 1 released!

 9/2の1.0リリースへ向けて、こちらも順調の様でございます。オンタイム、凄くオンタイム。

 ちなみにこのサイトで使っているDjangoアプリケーションは1.0上でまったく動作しません。て事だけ確認してます。それなりに追従したかった。リリース前だが既に過去形。

Google App EngineでDjangoのマネジャ的なモノを。 - 2008/4/26 (土) p.m.01:39 -

 モデル API リファレンス : Django オンラインドキュメント和訳

 Google App Engineでモデル以外にDjangoを使って遊んでいると(←遊んでいるのか)、ついついモデルの方もDjango的にやってしまって、先日なども公開フラグを使ってフラグが立っているものだけを抽出する様なカスタムマネジャが欲しくてひととおり実装して動かない、何故か動かない。……動くわけない。

 てわけで、@classmethodデコレータを使ってそれっぽいヤツをでっち上げて満足した。

  published = db.BooleanProperty(default=True)

  @classmethod
  def published_objects(cls):
    objects = cls.all()
    objects.filter('published =', True)
    return objects

 こういうのをModel内に仕込んでおけば

Object.published_objects()

 などと呼び出す事ができる。

DjangoのチュートリアルをGoogle App Engineで。 - 2008/4/18 (金) p.m.09:27 -

 Using Django with Appengine

 Adminサイトを使えない時点で同じには成り得ないわけですが、Google App EngineアプリをDjangoを活かしつつ開発してみたいと思うDjango未経験の向きの入り口として非常に良いのではないかと思ったり思わなかったりします。

Google App EngineのタイムゾーンがUTCなので。 - 2008/4/17 (木) p.m.09:59 -

 Types and Property Classes - Google App Engine - Google Code
 pytz - World Timezone Definitions for Python
 Time zones in Google App Engine

 日付変更線に近いところへお住まいの我々は困りますよね。や、別に困りはしませんが、面倒ですよね。って事で、変換しております。

 最初、

timestamp + datetime.timedelta(hours=9)

 なんて事をやっていたのですけど、「あんまりだなぁ」と思ってGoogleさんのドキュメントを参考にpytzを使って

timestamp.replace(tzinfo=pytz.utc).astimezone(pytz.timezone(settings.TIME_ZONE))

 なんてやっていて、「settings.pyで設定したTIME_ZONEの値を使えるのがいいよ、なんかたくさん無駄なリソースが入っちゃうけど」と思っていたところへ某方面からヒントとか言って送りつけられたページ(←三つ目のURL)のソースをパクって落ち着いたのが、

import datetime

class UtcTzinfo(datetime.tzinfo):
    def utcoffset(self, dt):
        return datetime.timedelta(0)

    def dst(self, dt):
        return datetime.timedelta(0)

    def tzname(self, dt):
        return 'UTC'

    def olsen_name(self):
        return 'UTC'

class JstTzinfo(datetime.tzinfo):
    def utcoffset(self, dt):
        return datetime.timedelta(hours=9)

    def dst(self, dt):
        return datetime.timedelta(0)

    def tzname(self, dt):
        return 'JST'

    def olsen_name(self):
        return 'Asia/Tokyo'

def jst_date(value):
    if not value:
        value = datetime.datetime.now()

    value = value.replace(tzinfo=UtcTzinfo()). \
        astimezone(JstTzinfo())
    return value

 で、モデルの方にこのメソッドを呼び出すメソッドを書いて(return hoge.jst_date(self.created)とか)、そのメソッドをテンプレートの方でDjangoのfilterを噛まして({{ object.jst_created|date:"Y/m/d H:i:s" }}とか)表示させてます。

 まー、こんなものでひとつ。

Google App Engineを引き続き弄った。 - 2008/4/11 (金) p.m.07:49 -

 Running Django on Google App Engine - Google App Engine - Google Code

 [Google App Engine] - 常山日記

 各所で話題のGoogle App Engineさん、中でもDjango界に与えたインパクトは大きくて至る所で色々な事が起こっています。詳しい事は上記の常山さんとこ経由で巡って頂きたい。

 さて、ここ数日私も「DjangoをGoogle App Engineで」というのに取り組んでおりますが、だんだんと馴染んできて参りました。Googleさんのエゲつないリソース群を利用できる変わりに、Djangoさんのきめ細やかさを失ったりするトレードオフなのが悩ましくもあり、かつ興味深くもあり、そして楽しくもあります! 特にGoogleさんのデータとの向き合い方とかが非常にツボであります。
 いろいろ試してみてくれている先輩方(←すべからく私よりお若いが先輩だ)がいらして、私もそれを追いかけできる限り色々試してみようと思うので、ちょいちょい書いて行きたい。

 だが、本日よりマリカ部。裏切ったらごめんなさい。と言うか、裏切る気でこれを書いていると思う。

DjangoでSQLAlchemyの例。 - 2007/11/25 (日) p.m.07:35 -

 DjangoでSQLAlchemy - perezvonの日記

 うちみたいにblogみたいなアプリだと凄く単純な処理しか必要ないのであれだけども、いつかやってみたい様な気もするので。

fixtureってヤツを試してみた。 - 2007/11/13 (火) p.m.03:20 -

 django-admin.py と manage.py : Django オンラインドキュメント和訳
 custom SQL から fixture に移行してみました - MiCHiLU.com
 文字化けしない JSON serializer - MiCHiLU.com

 例によって周回遅れも甚だしいですが、fixtureってヤツを試してみました。まだまだDjango 0.96系使ってます。

python manage.py dumpdata --indent=2 > initial_data.json
python manage.py flush

 として日本語が化ける事を確認。その後、上記リンク先の「文字化けしない〜」を導入して再度実行し、日本語化けない事を確認。素晴し哉。

 Djangoのドキュメントに

MySQL とフィクスチャ
残念ながら、MySQL は Django のフィクスチャに関する全ての機能を利用でき るわけではありません。 MyISAM を使っている場合、 MySQL はトランザクショ ンや制約をサポートしていないので、複数のフィクスチャファイルに対するロー ルバックを行えず、フィクスチャデータの検証も行えません。一方、 InnoDB を使っている場合、データファイル間で前方参照を行えません。 MySQL は行制 約のチェックをトランザクションコミット直前まで遅延するためのメカニズム を備えていないからです。

 とあります様に、MySQLでは幾つかの制限があるのでそれなりのアプリケーションへなってしまうとバックアップとして使うのは辛そうです。MySQLにもダンプ機能はありますので、バックアップにはそちらを使えば良いでしょう。

 が、私の使用目的は開発途中の仮データの作成、流し込みなので外部キーなどを考えてデータを作成、修正する事で使えそうです。記述するにはXMLよりJSON形式の方が楽そうですね。
 “initial_data”というファイル名にする事で、“syncdb”系コマンドで自動的にインストールしてくれるのも便利です。

セキュリティフィックス版“Django 0.96.1”リリース。 - 2007/10/28 (日) a.m.11:41 -

 Django | Weblog | Security fix released
 Django | Download

 国際化関連のフレームワークの脆弱性に対処したらしいです。バージョンアップしておきましょう。

 0.96に留まっておかねばならない理由はかなり前に無くなってしまったので0.97開発版へ移行したいと思いはするものの、ここまで来たら正式にリリースされるのを待つ方が良い様な気もして(ry。

0.96以降進化しているURL関連機能の例。 - 2007/10/5 (金) a.m.11:08 -

 ウノウラボ Unoh Labs: DjangoのURL逆引き機能
 モデル API リファレンス : Django オンラインドキュメント和訳

 先日permalinkデコレータを使ってみたので「メモを残さないとな」と思っていたこの時期にこの記事でございます。Django界は“人材”が豊富なのかこういう事が多くて非常に助かります。助かってばかりで貢献していないのがあれですけど。

 私は未だに0.96に留まっている事も関係しておりますけど、url関数やらreverse関数は使用しておりませんでpremalinkデコレータだけ使っております。ちなみに“デコレータ”ってのもあまりよくわかっておりませんで、「関数をラップする関数、なの?」レベルであります。ついでだからデコレートする関数ってヤツを書こうとしていたのだけど、途中で放置しておる有り様です。

 さて、最新のオンラインドキュメントによりますと、

この例では、第 2 引数に空の配列 (空のタプル) を指定していますが、これは引数 リストを渡さず、キーワード引数だけを渡したいからです。

 とあります。「なんじゃらほい(←昭和の香りのするかけ声)、わざわざ空のモノを渡すのも気持ち悪いなぁ」とソースを紐解いてみますと該当関数のコメントにて

# Decorator. Takes a function that returns a tuple in this format:
# (viewname, viewargs, viewkwargs)
# Returns a function that calls urlresolvers.reverse() on that data, to return
# the URL for those parameters.

 という記述がありました。合点が行きました、「URLから渡ってくる引数をキーワードの有る無しで分けて受け取っているのね」と。
 そんなわけで、ビュー関数へ固定引数として渡している場合は第2引数にタプルで、キーワード引数として渡している場合は第3引数に辞書でって使い方の様です。

 うちのURLはキーワード引数のみなので、デフォで空タプル付きって事になりますね。ち

CORESERVER.JPでDjangoの例。 - 2007/9/28 (金) p.m.10:36 -

 CoreserverでDjangoを使う | スパムとか

 以前とりあげました格安レンタルサーバー“CORESERVER.JP”さんでDjangoをCGIで動かした例です。なかなかパフォーマンスも良さそう。
 CORESERVER.JPさんはFastCGIも入っているらしいので、次にチャレンジする人はそちらの方向でやって頂きたい。お前がやれ。

 機能面ではドリホにかないませんけども、料金は半額以下だし日本のサービスなので乗り換えるのもありかも。

れいあれさん for Django 0.2.7。 - 2007/9/27 (木) p.m.05:24 -

 Django版れいあれさん

 現在当サイトで動いているblogっぽいDjangoアプリケーションを公開しました。

やっぱり“ローカルメモリ上のキャッシュ”をやめて、“データベースを使ったキャッシュ”へ戻す。インスタンス毎に生成されるっぽいのは微妙なモノがある。併用できるといいのになぁ。
モデルのget_absolute_urlへpermalinkデコレータを導入。
LastFMさんから色々データを引っぱる様にした、一応Ajaxで。
「最近の“にっき”」とか「最近の“こめんと”」とかをページングできる様にした、一応Ajaxで。
その他もろもろ細かいところを調整とか修正とか。という例のあれ。

 みたいな感じの変更点。注目点は皆無。

Djangoで携帯サイトなプラグイン“ Mobile on Django”の構想。 - 2007/9/21 (金) a.m.11:35 -

 perezvonの日記 - Mobile on Django

Djangoで携帯向けサイトを構築するためのプラグイン。
まだ、構想段階なので、以下はメモ。

 との事なので、楽しみに待ちたい。

 私にはトラウマがあって携帯向けサイトは作る気になれないわけですけども(←大げさ)、こういうミドルウェアがあれば作れそうな気がするよ。

“初心者のためのDjango勉強会”が開催されるらしい。 - 2007/9/18 (火) p.m.10:35 -

 初心者のためのDjango勉強会

プログラムやPythonの初心者に向けての出張Django勉強会です。

PythonやDjangoのインストールから、 ハンズオン形式 でDjangoを触ってみましょう。

 って事らしいですよ、何だかもう定員は一杯みたいですけども。Djangoって地味に勉強会だけ人気あるよな。とか嫌な事を言ってみる。

 ちなみにこの横の部屋で平行してrhacoの勉強会をやるらしいのだけども、個人的にはこちらの方に興味が。行けないけどね、例によって。

test.pyを分割しておいてインポートしたりする例。 - 2007/9/13 (木) p.m.11:09 -

 tests.pyを分割する - MiCHiLU.com

 そういえば、Djangoではテストを書いた事がない。基本的な書き方すら知らないな。あはははは
 「そのうちやろう」と思う事が幾久しく続く様な気さえします。

 とか既視感溢れる様な気がする文章を書いて誤摩化してみる試み。……誤摩化す必要ないから。

カスタムフィールドでバリデートとnewformsでバリデートの例。 - 2007/9/13 (木) p.m.10:35 -

 サロゲートペア文字を検出するカスタムフィールド - MiCHiLU.com
 newforms Modelに紐付かないformデータをバリデートする - MiCHiLU.com

 そういえば、Djangoではデフォルトの挙動のままを受け入れてバリデート関係を書いた事がない(←WebObjectsの時は国際化されていなかったので書いていたけど)。基本的な書き方すら知らないな。あはははは
 「そのうちやろう」と思う事が幾久しく続く様な気さえします。

 はぁはぁ、なるほど、フィールドのオプションに“validator_list”と含めたりもできる様ですね。今ちょっとだけ調べてみた。

WindowsとMacにDjangoの最新版を、の例。 - 2007/9/8 (土) p.m.08:06 -

 WindowsにDjango最新版を | スパムとか
 Mac OSXにDjango最新版を | スパムとか

 Instant Django(和訳)

 Windows向けにはInstant Djangoってのもありますね、利用した事はありませんけど。

 開発版を使うと悩まされてしまうらしいMac OS XのX-MAC-JAPANESE問題に付いても触れられています。私は0.96版を使っているのでこの問題には遭遇していませんが、0.97がリリースされる頃に悩んでしまうかも知れないですね。

求む、Djangoに優しいホスティングサービスという話。 - 2007/9/1 (土) p.m.08:43 -

 Django off Dreamhost : Blog : Ryan Berg(常山日記経由)

 毎回言っているMySQLサーバ辺りのヘタれ度やレスポンスの遅さなど不満はあるが、今のところペナルティもお叱りも頂いていないので普通に使えているし、お値段もそれなりなので他に選択肢もない。
 SubversionやQuickTime Streaming、cronなども最初から使えるメリットもあるので、なんだかんだで気に入っている。

 あと、某あさまし系サイトで6GB超えのデータをMySQLに抱えているのでヘタなところへは移れなくなってしまった……。

れいあれさん for Django 0.2.6。 - 2007/8/28 (火) p.m.05:06 -

 Django版れいあれさん

 ずーっと放置していたけれども一応ここらで適当リリース。例によって汎用的などとはほど遠い俺様仕様なので、他の人が使う事なんて想定していません、叩き台にも微妙。でも、自己満足的に公開するのに意味が……あればいいなぁ(←願望かよ)。

 変更点は以下の通り。同梱のread me.txtより引用です。

2007/08/28 0.2.6
一応Python 2.5.1へ移行して開発してます。何も起こらなかったけど。
何がどうだったのやら忘れてしまったので仕切り直し。ここに記述していない変更点が多分一杯ある。
レイアウトを変更、全ページ3段カラムへ。サイドバーとかをオフにすると右側がスカスカ。
“ローカルメモリ上のキャッシュ”を地味に導入。settings.pyへの追記が必要。
アマゾンアソシエイトの商品価格を最安値からアマゾン価格へ変更、ポイントの表記とずれるから。
よくみる最近投稿されたコメントリストを追加。
feed周りを再実装。
その他もろもろ細かいところを調整とか修正とか。

6 Pages 1 2 3 4 5 6 >

“ひとりごと”的な(Twitter

    Googleさんでけんさく

    Google

    このページと私のコト

    長崎市在住おそらくWeb系エンジニア“たくぅ”さんが適当に適当な事を書いているページです。
    色んな方面から脱ニートしました。

    Mii

    Skype: reiare

    “れいあれ”ふぁみりー
    Touch! れいあれ
    例のtumblr
    あさましいあれ(仮題)

    当blogのソースを公開中
    +++ download +++
    (Python 2.5.1 + Django 0.96用)

    自動更新バナー

     iTunes Store(Japan)

    ↑でもCD購入派なんだよね、私。