New Year’s Resolution

As I turned well into forty, I’ve become aware that I will never use English before I have one foot in the grave. In fact, writing (speaking) in foreign language is very stressful because I can’t say exactly what I want to say. But people peeking my site are probably programmers, and our common language is programming language(s). Right? I believe you’ll get the points from my articles, whatever I write them in English.

Anyway, I’ve made up my mind to write my blog in English. Since I know my writing is lousy prose with grammatical errors, I am grateful if someone, of course you!!!, suggest to me how to improve my writing in English.

Amazon Plugin

なんとか今年のうちにAmazon Search appを組み込むことができました。かなりむりくりですが、もっとxhtml/cssを勉強後、ソースを整理して配布できればと考えています。(需要があればですが。)現状いろいろと問題も多いのですが、追々直しつつご報告したいと思います。

それではよいお年を。Wish your happy new year!

ドメイン&ホスト移動完了

ドメインをhttp://byteflow.tatsu.comからhttp://www.tatsu.comへ変更しました。これに伴いwwwにあった旧サイトはhttp://tatsu.s298.xrea.comへ移しました。

また、現状Byteflowの機能のいくつかに問題があり、自分のレベルでは解決できる目途が立たないので、思い切ってホスティングサービスもValcato hostingへ変更することに。

Valcato hostingはDjango-friendly Web hosts (non-VPS/dedicated)で紹介されているサービスから見つけました。XREAほどではないにせよ、Valcatoもかなりコストパフォーマンスに優れており、Djangoフレンドリなホスティングとしては国内に比類するサービスはなかなかないように思います。エントリレベルで$35/yr、Django 1.0.2がインストール済みでpython V2.4.3 fcgiにて利用可能です。(投稿時点における、このサイトのホストサーバー仕様です。)

また、英語でやりとりしなければならないにせよ、チケット制によるメールでのサポートが受けられるのでとても安心です。カタコトの英語に怯むことなくバシバシ質問しましたが、ほぼ即答で返事が戻ってきて、これで$35でよいの?と思うくらい皆さん百貨店の店員さんのようにとても親切丁寧です。兼ねてから問題のあったOpenIDも利用可能になりました。

Googleのウェブマスターツールを見てみると、いくつか旧サイトのブログへのリンクが残っており、また自分自身も写真やAmzone広告に絶対リンクを貼っていたようなので、せっかくだからmod_rewriteでリダイレクトしておくことにします。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/article.php/* [OR]
RewriteCond %{REQUEST_URI} ^/images/* [OR]
RewriteCond %{REQUEST_URI} ^/nile/*
RewriteRule ^(.*)$ http://tatsu.s298.xrea.com/$1 [R=301,L]

この冬休み中はちょっと頑張って、旧サイトにあったようなAmazon検索を自力で取り付けようか、などと目論み中です。

($_$)

Merry Christmas!

Mahiro meets Snowmen

[Django Memo]ImageField, upload_to

Model field reference, ImageFieldより。

FileFieldと同様、MEDIA_ROOTの設定からの相対パスを設定する。
e.g.,
 settings.py:

MEDIA_ROOT = '/home/media'

models.py:

    headshot = models.ImageField(upload_to = 'temp/')

パスにはstrftime formattingも使用できる。

    headshot = models.ImageField(upload_to = 'photos/%Y/%m/%d/')