受付開始から11時間で定員に達したそうです。
今回は、ウノウのオフィスが会場なのですが、やっぱりもっと広い場所が必要ですね。
DjangoのCSRF対策について調べてみました。
なんと設定ファイルのMIDDLEWARE_CLASSESにこれを1行追加するだけでした。
'django.contrib.csrf.middleware.CsrfMiddleware'
これだけで、フォームに隠しフィールドを追加して、正しいフォームからPOSTされた値かどうかを自動的にチェックしてくれます。
残念ながら諸事情により参加できませんでしたが、今回も濃い人達が集まったようです。 everesさんの言葉 を借りるとこんな感じ。
実はDjango勉強会の参加者は、DjangoにプロポーザルやパッチをコントリビュートしているようなDjango人からphpを作っていた人、 phpのフレームワークのコミッタ、Rails使いの人、ワンライナーの人等かなり濃い人が集ってきていて面白い場になっています(Seasaa関連のコミッタも参加予定だったし)。
いつもブログを読ませてもらってる perezvonさん や 増田さん に僕も会いたかったです。それはそれは楽しい話が聞けたに違いない… 次回は1月に開催予定ですので、興味のある方はぜひ django-jaメーリングリスト に入ってみてください。まだまだ僕のような初心者もいますので、これから始めようという方大歓迎です。
Webシステムを作っていると、ブラウザからのアクセスとは別に非同期で処理を実行したい場面って結構あります。例えば、cronにジョブを設定して定期的に行う処理などです。
データベースに直接アクセスするなら何も考えなくてもできます。でも、せっかくだからDjangoのモデルを利用して楽をしたいですよね? 試しにmodelをimportしてみたけど、それだけではうまくいかない。で、どうやるのかなぁと調べてたら、下記のサイトに情報がありました。環境変数'DJANGO_SETTING_MODULE'を設定してあげれば良いらしいです。
Slowchop Studios » Blog Archive » Creating a Django cron job
こういうview.pyがあって、このdaily_job()をcronから呼び出したいとき。
import urllib2
from models import WebSite
def daily_job():
for site in WebSite.objects.all():
page_html = urllib2.urlopen(site.url).read()
do_something_with_page_html(page_html)
こんな感じでプロジェクトのトップにスクリプトを置いてあげると、cronからDjangoフレームワークを呼び出して使うことができます。
#!/usr/bin/env python import os os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' from mytestapp.views import daily_job daily_job()
♪コントラスト − クラムボン
半蔵門のお洒落なオフィスで開催された「Django 勉強会 Disc 0」に参加してきました。
主催の露木さんも人が集まるか心配していたようですが、蓋を開けてみると参加者は20人、しかもDjangoに目をつけるだけあって、皆さんかなりの腕前。初回なので、皆さんのレベルを推し量るという意味でチュートリアルを2,3人ずつのチームに別れて行うという内容でしたが、これは次回からかなり期待できそうです。
勉強会のトピックス
懇親会のトピックス
何だか最近、Djangoが各所で注目されているようなので、自分も手を出してみることにする。
まず、 「Framework Performance in Ruby on Rails」 を読む。Symfony(PHP)とRails(Ruby)、そしてDjango(Python)のパフォーマンス測定の結果が出ているんだけど、Djangoが最速らしい。おぉー!
次にDjangoに関して精力的に活動している露木さんのブログエントリ 「あなたがDjangoを利用すべき10の理由」 を読む。一日1500万ヒット以上をシングルDjangoインスタンスで捌いているとのこと。おぉー!確か新聞社のサイトで使われているんでしたよね。
と、モチベーションが高まってきたところで次に進みます。とりあえず、この辺りから読んでいけばいいのかな。
【2006.8.16追記】