むしろ一昨日参ります。
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も。これからも超よろしく!
(0)
AptanaでPython開発が可能に、「Aptana Pydev」リリース:CodeZine
Aptanaってのは基本的にWeb系向けの開発環境なのですけど、それにPython向けのプラグインであるPyDevが含まれる様になりました。
これはDjangoの影響、ではなくてGoogle App Engineの方の影響なんでしょうね。まぁ、Google App EngineにDjangoは含まれておりますからどちらでも別にいいのですけど。
と言うか、最近PyDevどころかPython自体触ってないし。
(0)
Django | Weblog | Django 1.0 beta 1 released!
9/2の1.0リリースへ向けて、こちらも順調の様でございます。オンタイム、凄くオンタイム。
ちなみにこのサイトで使っているDjangoアプリケーションは1.0上でまったく動作しません。て事だけ確認してます。それなりに追従したかった。リリース前だが既に過去形。
(0)
NetBeans IDE、Pythonサポートへ本腰 - Jythonも | エンタープライズ | マイコミジャーナル
「ネコがどうとかうるさいから使わない」と公言して憚らず一度も使った事がない私ですけども、Pythonがサポートされるとなればちょっとだけ手を出してしまうかも知れない。ネコなんたらは支持しないけど。
でもねぇ、どうせIDE使うなら何でもEclipseがわかりやすくていいかなぁとも思うんだよね。Xcodeは仕方がないとして(←なんでだ)。
(0)
感動した。Webアプリを作っていたり、Webアプリケーションフレームワークに興味がある方々は是非手に取って頂きたい。
目次が発表されてからその内容にも興味があって「読みたい!」と思っていたのだけども、貧乏とか気持ちとかいろいろあって今頃になってやっと読みました。一応写経しながら内容を押さえつつだったのだけど、予想通り非常に面白く、かつ興味深い話でわりと一気に読んでしまいました。
そもそも、私はDjangoからPythonに入った様なにわかでありますし、Webアプリを作る事しか出来ない様な輩でありますから、Pythonの事自体には全然詳しくもなんともなかったので簡単にHTTPサーバやアプリケーションサーバもどきが書けてテストに使えたり、テンプレートエンジンなんかも標準モジュールを使って簡単に書き始められる事に軽く衝撃を受けてしまいました。
もちろん他の言語の事もあまり存じませんので当たり前の事なのかも知れませんけども、Pythonの標準モジュールの充実度は素晴らしいなぁと、あらためて思ったりしましたよ。
私はこれまで10年以上Webと言うモノに触れてきて、Webアプリを開発する事を始めてからも同じくらいの年月を過ごしていますけども、ずっとWebアプリケーションフレームワークというものに興味があります。昔から開発している方々は覚えがあると思うのですけど、みんな俺様ライブラリ的なモノを持っていましたよね、DB接続用クラスだったり文字列生成関数だったりもろもろ……。私もPHPでやっていた頃はアプリを開発する度にそれらのライブラリがアップデートして行きました。
そして、自分だけで作って使い続ける事に限界を感じるのと同時に、世の中にはもっともっと凄いモノがある、フレームワークとしてまとまりまくっているものがあると知り、それを使う道を選んできたわけです(←まぁ、WebObjectsとかだったりするわけですよ、私的には)。基本そのフレームワークを使い、その上に自分好みに変更、拡張、改悪した様なライブラリをかぶせて(←WebObjectsだとWebObject用のフレームワークが作れる)。
そんなこんなで、Webアプリケーションフレームワークを使う事にも興味がありますが、その中身にも興味があったりしまして、Djangoを使い出してから感動した事に「ソースが公開されていて中が見える」というのもありました。しかしながら、中が見えるからとそれを理解する事には凄く隔たりがあって、それはこれまで自分が不勉強であった事を恥じるものでありますけど、この本を読む事で基本的な事を理解する道が開けた様な気がします。
さぁ、いつかまた俺様フレームワークを作るぞw。
たぐ - python
(0)
モデル 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()
などと呼び出す事ができる。
(0)
Google App Engine Blog: Google App Engine + Google Data APIs: A Match Made on the Web
GoogleフェチのPythonistaには貯まらない展開ですねぇ。ボクは違いますけど。
(0)
Using Django with Appengine
Adminサイトを使えない時点で同じには成り得ないわけですが、Google App EngineアプリをDjangoを活かしつつ開発してみたいと思うDjango未経験の向きの入り口として非常に良いのではないかと思ったり思わなかったりします。
(0)
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" }}とか)表示させてます。
まー、こんなものでひとつ。
(0)
相変わらずこの隙にとGoogle App Engineを弄ったりしております。
管理画面へリンクを張りたくてアプリケーション名を取得しようとして、絶対に簡単取れる、或はどこかに持っていると思いつつ、というか、Key.app()なんてメソッドがあるから取れるはずなのに、ソースを追いかけても追いかけきれず泣く泣く設定ファイルから引っこ抜いて使用した。
しかも、最初の一行だけが必要なのに、ファイル丸ごと取得してYAMLの解析する富豪っぷり。富豪だ富豪だ、わーいわーい。
……情報を求めます。
yaml_string = open('app.yaml').read()
yaml_string = yaml_string.decode('utf8')
data = yaml.load(yaml_string)
return "http://appengine.google.com/dashboard?app_id=" + data['application']
たぐ - google app engine python
(0)
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さんのデータとの向き合い方とかが非常にツボであります。
いろいろ試してみてくれている先輩方(←すべからく私よりお若いが先輩だ)がいらして、私もそれを追いかけできる限り色々試してみようと思うので、ちょいちょい書いて行きたい。
だが、本日よりマリカ部。裏切ったらごめんなさい。と言うか、裏切る気でこれを書いていると思う。
(0)
Google App Engine - Google Code
何だかちょっと乗り遅れてしまったのだけど(←アカウントは取れたけど)、Getting Startedをやってみた。何だか楽しいかも知れない。
我々Djangoをやっている人間には非常に入りやすく、かつ馴染み深いものだったりするのでその気になってしまうなぁ、余裕を作れないダメ人間なので気持ちだけだけど。
あと、これきっかけで、もうちょっと日本でもPythonが注目されたらいいね。
(0)
http://pyspa.org/(第三回 Python 温泉 - Twisted Mind経由)
時期: 2/15 - 2/17 or 2/22 - 2/24
って事で、丁度この頃にはアレがアレしてボクはアーだから参加できるかも……。
あー、でも、土曜の夕方に着いて日曜の午前中に帰るみたいなスケジュールになってしまうかなぁ。とりあえず検討してみよう、来年になったら(←来年かよ)。
たぐ - python
(0)
DjangoでSQLAlchemy - perezvonの日記
うちみたいにblogみたいなアプリだと凄く単純な処理しか必要ないのであれだけども、いつかやってみたい様な気もするので。
(0)
http://pyspa.org/(Python 温泉 公式サイト - Twisted Mind経由)
もし万が一ひょっとして仮に真っ当で普通な人間になっていて労働の対価を頂ける様な立ち位置を得ていたら次回は参加する。様な気がしないわけでもない。
結構参加している人多いなー。
たぐ - python
(0)
Lineguide - Command-line parser generator(2007-10-20 - トーフサロン経由)
Lineguideは、コマンドラインオプションを解析するC言語のコードを生成するツールです。 Lineguideが生成するコードはANSI Cに準拠しており、ANSI C以外のライブラリに依存しません。 Lineguide本体もPython以外のツールやライブラリに依存せず、コピーするだけでプロジェクトに組み込めます。 コンパイルもインストールも不要です。
というモノ。私なんかにゃ必要になる事なんてないんじゃないかと思われる下の方へ向いたツールです。
何が素晴らしいってちゃんとドキュメントを書いている事だな(←そこかよ)。
(0)
perezvonの日記 - Mobile on Django
Djangoで携帯向けサイトを構築するためのプラグイン。
まだ、構想段階なので、以下はメモ。
との事なので、楽しみに待ちたい。
私にはトラウマがあって携帯向けサイトは作る気になれないわけですけども(←大げさ)、こういうミドルウェアがあれば作れそうな気がするよ。
(0)
ReSTのプレビュー | スパムとか
私は別にPythonの人でもないし愛して止まないわけでもありませんが、以前某理由によりちょっと使っていたりもして興味だけはあり、実はこのblogアプリも対応途中だったりもして(←Djangoでもあっさり使える様な仕組みが用意されています)、かつCotEditorの愛用者でありますから試してみました。
上記リンク先のスクリプトをコピペして指定の場所へ保存。その後、ターミナルで
chmod +x /Users/tac/Library/Application\ Support/CotEditor/ScriptMenu/rest_preview.\@r.py
などとして実行権を与えてやれば準備完了。あ、Docutilsは導入済みね。
適当にReStructuredTextの記法で入力して、CotEditorのメニューのスクリプトから件のスクリプトを選択して実行すると、デフォルトブラウザーが立ち上がって成形済みの文書が表示されます。素敵。
ちなみにその表示されているファイルは“〜/cot_rest.html”なので、必要であれば各自よしなにするとよいかと。
(0)
Apple によるロケール周りの変更点を Python 2.5.1 にも適用する - METAREAL
Mac OS XのX-MAC-JAPANESE問題に対応するAppleさん純正のパッチをPython 2.5.1へ適用するパッチを適用してみた。ちなみに私は本家のMac用インストールパッケージ版のPythonをDjangoでのみ使っていて、さらにそのDjangoも0.96版を使っているので問題に直面した事がない幸せな人。
まずは適用前の状況。“X-MAC-JAPANESE”が返ってきます。
解凍したPython-2.5.1のディレクトリと件のパッチファイルを同じ階層へ置いて、
patch -p0 < Python.2.5.1_Apple_locale.txt
とパッチを適用し、make & make install。
“UTF-8”が返ってくる様になりました。
前述の様に私は問題に直面しない輩ですし、Djangoやら何やらを再インストールするのが面倒なので元のパスに設定し直してしまいました。
Leopardにはパッチが適用された2.5.1辺りがインストールされているのではないかと思います。もちろん無確認かつ無責任な発言なのですけど。
(0)
oreilly.co.jp -- Online Catalog: Pythonチュートリアル
Pythonチュートリアル(Amazon.co.jp)
プログラミング言語Python(パイソン)の作者Guido氏が書き下ろしたPython入門者のための手引き書。Pythonの言語とシステムの基本的な機能やコンセプトを紹介する—「このチュートリアルは、個々の機能を取り上げた包括的なものを目指しておらず、よく使う機能すらすべてはカバーしていない。むしろ特徴的な機能を数多く紹介することで、言語の雰囲気とスタイルを掴んでもらおうとするものなのだ。
という事で、まず最初に手に取るべき本の様です。
たぐ - python
(0)