Archive@2007/05

テンプレートを使ってのメール送信

コメントやトラックバックを受け取ったときにメールを飛ばすようにしていたのですが、やっぱソース中にメールの内容とか書いてると見づらいし、内容を変更したくなった時とかかなり大変。

で、「何か良い方法はないかなぁ?」なんてネットを徘徊していると rossp.org さんにいい感じの記事が。どうやらテンプレートエンジンでメール本文をレンダリングする模様。まさにこういうのを探してた!

具体的には、とりあえず受け取りたいメール内容のテンプレートを作成。今回はとりあえず mail.txt とかにしてみた。中身はまだかなり適当。

{{ title }}

Entry Url : http://{{ site.domain }}{{ object.get_absolute_url }}

で、後は views.py とかメール送信したい所でテンプレートエンジンを使って本文を組み立ててメールを送信する。

以下は views.py の抜粋

from django.core.mail import send_mail
from django.template import loader, Context
from django.contrib.sites.models import Site

# (省略)
if form.is_valid():
    # コメントの保存。
    comment = form.save()

    # ココからメール処理。
    title = 'Post new Comment.'
    t = loader.get_template('mail.txt')
    c = Context({
        'title' : title,
        'object' : comment,
        'site' : Site.objects.get_current(),
    })

    send_mail(title, t.render(c), 'webmaster@example.com',
              ['hige@example.com',], fail_silently=False)

    return HttpResponseRedirect(comment.entry.get_absolute_url())

この形で作っておけば、何かと変更したくなってもすぐに対応出来て素敵過ぎます。 やっぱりまだまだ知らない事が多いなぁ。としみじみ実感。

トラックバック受信時も同じ様な形でメール送信を実装。これで気まぐれにちょくちょくメール内容とか修正出来るし、外向けにメールを飛ばすのも苦にならなそう。

また一つ Django が好きになりましたとさ。

ps. tenkao さんの コチラ おかげでまた一つサイトのデザインが fixed に近づきました♪本当にありがとうございます。

Posted at: 
2007/05/30 03:31:23
0 Comments
0 TrackBacks
Tags: 
Django
mail
Python
templates
Trackback: 
http://humming.via-kitchen.com/2007/05/30/send-email-via-templates/trackback/

デザイナーのためのDjango

スパムとかこのエントリ を見て激しく共感。

自分で実際使ってて思う部分も大きい。

仕事ではPHPを書いているのですが、今まで使ってきたframeworkは当然ながらプログラマがいかにスムーズに構築出来るか?というところにフォーカスされていて、自然に「最低限これだけは知っていないとダメ。」という敷居が高くなっていると思う。

その事を認識する事は殆ど無かったけど、無かっただけに Django の直感的な作りにはホントに驚いた。どっかの記事で「黒魔術を取り払え!」的なものを見かけたけど、ホントその通りだと思った。

「お前は言われた通りに書いてりゃいいんだ!」なんて言う事はほとんど無く、「これでなんで動くの?」って疑問を殆ど持たなくて良い。これって結構大事だと思う。

個人的に Django 素敵♪と思った所としては、

  • 必要以上にオブジェクト指向しない。
  • 不明な挙動をしない。
  • URLのマッピングが素直。
  • テンプレートエンジンが強力!
  • デフォルトの管理画面がモチベーションが上がる仕様。

まだまだ知らない機能とかも多いものの、デザイナーの方が Django を使いだしたら、結構凄い事になるんじゃないの?なんて思ったりする。

  • 『デザイナのための Django
  • Django のデザイナフレンドリ』

なんて企画もあったりなかったりだそうなので、興味があるデザイナーの方は是非とも調べてみてください。

Posted at: 
2007/05/27 22:08:31
4 Comments
0 TrackBacks
Tags: 
design
Django
Trackback: 
http://humming.via-kitchen.com/2007/05/27/django-is-not-for-only-programmers/trackback/

jQuery Dashboard Widget!!

はてなダイアリーの Voluntas さんの記事で知ったのですが、入れてみたらさあたいへん。

jQuery のバージョン指定も出来るし、そのままwebにも飛んで行けちゃうじゃないですか!ド忘れした時とか、ちょっと調べたい時にはもってこいです。

本家のブログ を見ると svn レポジトリに入ってるっぽい事が書いてあったので、とりあえずはそこにあったzipファイルを展開して入れてみました。

せっかく良いものなのに、 svn 入れてないと落とせないのかな?

Mac をお使いの方は是非とも入れてみてください。 jQuery な楽しみが一つ増えると思われますw

Posted at: 
2007/05/26 01:54:07
0 Comments
0 TrackBacks
Tags: 
DashBoard
jQuery
Mac
Trackback: 
http://humming.via-kitchen.com/2007/05/26/jquery-dashboard-widget/trackback/

IEでバグりすぎ!

昨日の夜にサイト公開してみて、翌朝会社にて久々にIEで確認してみた。

が、予想以上にぶっ壊れていてちょっと驚愕。 サイドメニューがずれ込んで来てるよ!

ある程度デザインが崩れてるかな?ぐらいは想像していた訳なのですが、 jQuery のプラグインのjquery.thickbox.jsがぶっ飛んでたのはちょっと正直焦った。

まぁ、調子に乗って svn レポジトリの中のthickbox_reloadedの方を使ってみてるのが悪いのかも知れませんが。

余談ですが、thickbox_reloaded@1971は壮絶にバグっておりましたのでご注意ください。今後活発に変更・修正がかかる模様です。 そのちょっと前のバージョン(正確なリビジョンは失念)にはSafariにてバグがありました。(Operaも?)

ちょっと本腰入れて改修して行かなきゃなりません。 IEでご覧になられてしまった方、ほんとすいません。仕事の合間をぬって直して行きますんで、今しばらく暖かく見守ってやってくださいまし。

あ〜、頑張ろ。

Posted at: 
2007/05/25 01:45:25
4 Comments
0 TrackBacks
Tags: 
CSS
IE
jQuery
Trackback: 
http://humming.via-kitchen.com/2007/05/25/has-many-bug-on-ie/trackback/

Djangoでサイトを作ってみた。

やっとこさとりあえず公開出来るところまでもって来れました。

まだまだ未実装の部分とかもある訳ですが、これからちょくちょく拡張していきます。

ちょっとずつながらも Python とか Django とか jQuery とかの使い方も分かってきたよ。 Python はまだまだ未知の部分が多いけど、 Django とともに勉強してまいります。

Posted at: 
2007/05/23 00:46:44
3 Comments
0 TrackBacks
Tags: 
Django
jQuery
Python
Trackback: 
http://humming.via-kitchen.com/2007/05/23/tried-to-make-this-site-by-using-django/trackback/

Categories

Archives