Make組ブログ

Python、Webサービスや製品開発、ライブラリー開発についてhirokikyが書きます

Sentry with django-newauth

Sentry with django-newauth djangonnewauth is a library to add customizable user model (It developed before Django 1.5). And sentry is a platform to collect logs and aggregate these. Sentry can collect errors raised by some django applicati…

Djangoでアップロードしたファイルを非同期に削除する

Djangoでアップロードしたファイルを非同期に削除する Django の FileField を通してアップロードしたファイルを非同期に削除したい。 本質的にはモデルが削除されると同時にファイルも削除したいというものなんだけど、 そこを同期処理しているとやってられ…

Djangoのチケット18481についての雑記

Djangoのチケット18481についての雑記 Django に投げていた パッチが昨夜取り込まれた のでその話。 前に取り込まれた チケット 18558 以来。 チケット 18481 について このチケットは、別のチケット 17277 に由来してる。 17277 は POST の body 読み込み時…

PythonでWebサーバー書きましょう

PythonでWebサーバー書きましょう 「Webサーバー書いたことある?」 と聞かれ、何じゃらホイと尋ねると 「書いたことあれば分かりそうな問題にハマってる事例見てね。みんな書いたことあるわけじゃないのね、と思って」 とのこと。 そういえば私も書いたこと…

Pyramidでzope.interfaceを使う

Pyramidでzope.interfaceを使う Pyramid で zope.interface を使うときの話 zope.interface Pyramid における zope.interface の使い方 お作法 zope.intreface zope.intreface_ が面白いと最近知った。 実装を持たない「インターフェース」だけ定義して、 そ…

新サービスKarmaidをリリースしました

新サービスKarmaidをリリースしました 新規にWebサービス Karmaid をリリースしました。世界中すべてのものに未ログインで評価できるサービスです。 ここでは Karmaid というサービスについてと、リリース後にあった秒間200リクエストの話をします。 Karmaid…

Djangoのテストで設定 (settings) を上書きする

Djangoのテストで設定 (settings) を上書きする Django のユニットテストを書くときに、 設定ファイル (settings.py) を一部変更したいことがある。 そのやり方をメモ。 テストの一部で変えたいとき ドキュメントに書いてあった。 Override Settings django.…

DjangoのORMが実行してるSQLの見方 (とdjango-debug-toolbar のススメ)

DjangoのORMが実行してるSQLの見方 (とdjango-debug-toolbar のススメ) djangoddebugttoolbar 使おう。 以下の様な記事があった。 Djangoの発行する生SQLが見たい ForeignKeyとfilterのメモ - AtAsAtAmAtArA django.db.connection.queries を使うとよいそう…

django-celeryで非同期処理クイックスタートガイド

djangoccelery で非同期処理をやる。 サクッと非同期処理を試せちゃうような、クイックスタートガイド をメモがてら書いていく。 インストール まずはインストールから。 pip を使って Django と djangoccelery をインストールする。 % pip install Django %…

「それZopeだよ」って言われたので作ったもの

「それZopeだよ」って言われたので作ったもの URLディスパッチャーとか飽きたので、もっと他のことがしたかった。 URL(リクエストのPATH INFO)にマッチしたパターンに対応するビューなど言ってないで、 より汎用的な構造はないかと考えていた。 思いついてつ…

SQLAlchemyのSQL表現言語で集計する

SQLAlchemyのSQL表現言語で集計する 前回の Djangoで売上を集計/集約処理する に続いて、また集計します。 今回はDjango(のORM)ではなく SQLAlchemy を使います。バージョンは0.8。 ただしORMとしてではなく、SQLAlchemyのSQL表現言語(SQLExpression)のみ使…

Djangoで売上を集計/集約処理する

Djangoで売上を集計/集約処理する 集計/集約します。 (この記事ではaggregationを「集計」と訳します。集約、よりもヒットしやすそうだったから) Django 1.4 日本語ドキュメント(暫定) ではこちらにあります。 集約(Aggregation) - Django 1.4 documentation…

DjangoのAUTHORSに追加された

DjangoのAUTHORSに追加された 先日、Djangoに送っていたプルリクエストが取り込まれた。 そんで AUTHORS (Djangoに貢献したことがある人が書いてあるテキスト) に追加された。 初めてのことで嬉しいのでブログに書いてます。 あとは Django のコード書く人増…

何歳からプログラミングを始めるべきか

何歳からプログラミングを始めるべきか 「プログラミングは何歳から始めるべきでしょうか」 これはよくある質問だと思う。 最近またTwitter上でこれに関する議論、疑問、嘆きなどが見られるので、 いい機会だと思って書いてみる。 何歳であれ適齢です 私の大…

New years python meme 2012

New years python meme 2012 1. What’s the coolest Python application, framework or library you have discovered in 2012 ? Django. yes, It’s not so cool. but, I don’t know about another python applications well. Once said, 2012 is starting li…

Pushosuというサービスをリリースしました

Pushosuというサービスをリリースしました Twitter投稿用のボタンを自分で作れるサービス、 Pushosu を作りました 何よこれ Twitter投稿用のボタンを作れるサイトです。 1) Twitterからログインして、ボタンを作ります 2) 作ったボタンをクリックします 3) …

ブログ移行するよ

ブログ移行Home — hirokiky's blog今までありがとうはてダ

WSGIで何か作ってみてちょっと改良してみた

@shomah4aさんが面白い記事を書いていたのでもうちょっと遊んだ。 2012 Python アドベントカレンダー (Web フレームワーク ) 二日目 WSGI でなんか作ってみる #python_adv - プログラマのネタ帳 とりあえず上記で書かれていることをやってみた。WSGIだけで作…

Django、チュートリアルの次にやったこと(2012Pythonアドベントカレンダー1日目 #python_adv)

2012Pythonアドベントカレンダー1日目を担当します、取りまとめ役の id:hirokiky です。 この記事では私がDjangoのチュートリアルの次にやってきたことを書きます。 内容としては「Django」に限った話ではなくて、そもそもプログラミング自体そんなにしたこ…

DjangoでオレオレWidgetを作ってみた(Renderer編)

ウィジェットとは、Django で HTML の入力エレメントを表現するためのオブジェクトです。ウィジェットは、 HTML のレンダリングや、個々のウィジェットに対応するデータをGET/POST 辞書から抽出する処理を行います。 http://djangoproject.jp/doc/ja/1.0/ref…

Amazon ELB + EC2 環境で EC2 に直接アクセスしないよう nginx を設定する

Amazon ELB + EC2 環境で EC2 に直接アクセスしなよう nginx を設定する。想定するのは ELB にドメイン名を設定して、それを介して EC2 上インスタンスにアクセスするような状態。 その場合、 EC2 (https?://ec2-.*\.amazonaws.com) に直接アクセスされると…

DjangoでTwitterBootstrap使うならdjango-boostrap-toolkitがオススメ

Django 製サイトで TwitterBootstrap を使いたいときはdjango-bootstrap-toolkit を使うのがオススメ。

Django の FormWizard で FormSet を使う

単一のフォームについて複数回入力するなら FormSet 、 複数種類のフォームを画面遷移なしで入力するなら FormWizard がある。FormWizard で FormSet を使ってみた

ビープラウドに転職してました

iMac で心地よく開発してます。

フォームにすでに入力されている値をテストする (オブジェクト更新用のビューをテスト)

オブジェクト更新用のビューのテストをするときに、フォームにすでに入力されている値をテスト したいことがある。 >>> response = self.client.get('/update/1/') response オブジェクトから、いかにフォームの初期値を取るかという問題。

FormSet を空の状態で提供する (オブジェクト作成用のビューで使える)

>>> HogeFormSet = modelformset_factory(Hoge) >>> hoge_formset = HogeFormSet() とすると、FormSet(ModelFormSet) が DB に保存されている既存のオブジェクトに束縛されて提供される。 この挙動はオブジェクトの新規作成をするビューで使うには好ましくな…

Ubuntu で M2Crypto 使おうとしてハマった

Ubuntu で M2Crypto を使おうとしてハマった。 ImportError: /home/hirokiky/.virtualenvs/hogeenv/local/lib/python2.7/site-packages/M2Crypto/__m2crypto.so: undefined symbol: SSLv2_method エラー文は上記のようなものがでた。

Django の FormSet で更新用のビュー作ろうとしてハマったことろ

Django の FormSet についてハマったメモある更新用のビューに FormSet を使いたかった。更新用のビューなので、既存のオブジェクトがある場合は FormSet をそれに対して束縛してやる必要があった。 環境 Django==1.4.1 解法 下記ブログ参考に。 Django mode…

WSGIからDjangoの流れを理解する

WSGIからの流れを大まかに掴めたのでまとめたい。かなり大まかには、この画像を念頭におけばいいと思う。 今回はDjango1.4を対象にしている。 注意 流れを理解するために読むべきソースコードへのリンクと、その順番をまとめてる。 読みやすさはあんまり考慮…

Django1.4のクラスベースビューにおけるHEADリクエストの処理について。

django.views.generic.base.TemplateViewなどのクラスベースビューの実装を見てみると、head()メソッドが書かれていないように見える。しかしHEADリクエストには対応してる、という話。「TemplateViewはHEAD対応していない」的なお話を聞くことがあるから書…