django

django-loggingを使う

djangoでロギングするのに、Pythonのloggingを使っていたのだけど、django-loggingなるものが。
django-logging - Google Code

導入はOverview - django-logging - Google Codeを読めばわかるように非常に簡単。

django-loggingを取得しPYTHONPATHに追加するなりなんなり。

$ svn co http://django-logging.googlecode.com/svn/trunk/djangologging/ djangologging

ミドルウェアとして登録。settings.pyに以下を追記。

MIDDLEWARE_CLASSES = (
    ...
    'djangologging.middleware.LoggingMiddleware',
)

INTERNAL_IPSに開発機のIPアドレスを書いておく。

INTERNAL_IPS = (
    '192.168.1.200',
)

さらに以下を追記。

LOGGING_OUTPUT_ENABLED = True
LOGGING_LOG_SQL = True

使い方はPython標準のloggingと変わらない。

import logging
 
logging.debug('....');
logging.info('....');
logging.warn('....');
logging.error('....');
logging.critical('....');

ページの下部にこんな感じで表示されるようになる。

URLの末尾にスラッシュが追加される

Django | Middleware | Django Documentation
django.middleware.common.CommonMiddlewareが有効になっていて、かつAPPEND_SLASHがTrueだとURLの末尾にスラッシュがない場合、自動的にスラッシュをつけるようになるようだ。

この機能を無効にする場合はsettings.pyに

APPEND_SLASH = False

と記述するか、django.middleware.common.CommonMiddlewareを無効にする。
ミドルウェアを無効にするにはsettings.pyのMIDDLEWARE_CLASSから必要のないものをコメントアウトする。
MIDDLEWARE_CLASSES = (
    #'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.doc.XViewMiddleware',
)

Ubuntu 7.10 + djangoで文字化け

専用サーバへ移転準備中。
CMSは引き続きDrupalとWordPressを使うことになると思うけど、自作アプリはPHPからPython(django)へ。

環境は
Ubuntu 7.10 (専用サーバで選択できるUbuntuのバージョンが7.10のため)
mysql, apache, djangoはaptでインストール。

で、早速djangoでアプリを作っているのだけどdbへ日本語を含むデータをインサートしようとするとエラーに。
なもんで、mysqlの設定を変更。

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

[mysql]
default-character-set=utf8

で、mysqlを再起動。

$ sudo /etc/init.d/mysql restart
コンテンツの配信