methaneのブログ

このブログに乗せているサンプルコードはすべてNYSLです。

Djangoの管理画面はDjango内蔵サーバー限定?

Djangoのチュートリアルを自宅でやってみたときは、まったく問題なかった。
で、会社でApache+Djangoの環境を構築してみたら…管理画面が素っ気無い。cssが404 Not Found。
Apacheの設定かApatcheとDjangoをつなぐ部分でURLの設定ミスがあるんじゃないかといろいろ見直してみるけど、まったく判らず。
仕方ないから、ADMIN_MEDIA_PREFIXをキーワードにDjangoのソースを追っかけてみたら…AdminMediaHandler*1を使ってるのがrunserverだけ。だから、Apacheで管理画面を開くと、管理画面のcss等がおかれているADMIN_MEDIAは見れない。もともとadmin画面は内部利用限定の物だから、Apacheでは使うなって事かな?
こんなしょうもない事で半日消費。はぁ。

さて、apacheが実行するDjangoみたいなプログラムの動作を知るにはどうすればいいんだろう?デバッガでステップ実行とかやり方が判らない。

*1:ADMIN_MEDIA_PREFIXで始まるURLがきたときに、djangoパッケージ内のmediaディレクトリの内容を渡す