隠蔽するっていうか、viewにごりごり書くのではなくてModelのメソッドで処理してしまおうという話です。このエントリの応用ですね。
import hashlib
class Member(models.Model):name = models.CharField(max_length=32)passwd = models.CharField(max_length=256)def save(self, force_insert=False, force_update=False):self.passwd = hashlib.md5(self.passwd).hexdigest()super(Member, self).save(force_insert, force_insert)
Modelのsave()メソッドをオーバーライドしています。これで、登録フォームなどからPOSTされたデータをそのままsave()してもデータベース上には暗号化された状態で保存されます。
adminサイトで作成したユーザ情報なんかのパスワードとかも、暗号化して保存してくれます。便利便利。