テンプレート上でのMEDIA_URL呼び出しについて
皆様こんばんは。
土日に寝込んでいた際に今話題のタミフルの怖さを少し垣間見た中田です。
skyfishの開発にあたり、Djangoの事は基本的に例の聖地と
先日のdevcampで触らせて頂いた『Workstyle』のソースを参考にしながら日々作業しているのですが、
テンプレート上からMEDIA_URLを{{MEDIA_URL}}みたいに呼び出そうとした際、
実際に表示された画面のHTMLソースを見ても、上手く呼び出せていない様子。。。
とりあえず、『Workstyle』と聖地をチラ見しつつ設定したのは
↓settings.pyで↓
MEDIA_ROOT = '/home/skfs/skyfish/'
MEDIA_URL = 'http://localhost:8000/skyfish/'
ADMIN_MEDIA_PREFIX = '/skyfish/'
とか何とか設定しつつ、
過去ログを参照するとMEDIA_URLとADMIN_MEDIA_PREFIXがカブってるとマズいみたいなので
ADMIN_MEDIA_PREFIXの指定を変えたりしてみました。
・・・が、テンプレート上に{{MEDIA_URL}}を記述してみても何も表示されず_| ̄|○
urls.pyにも(各viewを呼び出す)最低限の記述だけはしてあるのですが、
他に何か設定があるんでしょうか・・・。
※もしかすると、ものっっっすごい初歩的なところで地雷を踏んでいるのかもしれませんが、
その時はごめんなさい 。・゚・(ノД`)・゚・。
posted by nakata | permalink | comments (5) | trackbacks (0)


コメント
WorkStyleの場合は、RequestContextでsettingsのいくつかの設定をコンテキストに持たせています。
RequestContext自体の設定もdjango.conf.global_settingsから無理矢理コピペして増やしています。
実は、以下のように設定できるに違いありません。
from django.conf.global_settings import CONTEXT_PROCESSOR
CONTEXT_PROCESSOR = CONTEXT_PROCESSOR + ('hoge.context_processor.func',)
ちなみに、テンプレートでURLを美しく記述する方法が発明されているような気もしますが、そこはあまり追っていないので…。urls.pyから逆参照するタグだったかも?
投稿者: everes | 2007年03月19日 22:56
あ、それはとても勘違いをしています。
MEDIA_ROOTをテンプレートで呼ぶときeveresさんはコンテキストプロセッサを使用していたはずです。
workstyle/ws/context_processor.pyを見ると一目瞭然です:-)
また、settings.pyのTEMPLATE_CONTEXT_PROCESSORSを参照してみてください。
詳細は...
Python プログラマのための Django テンプレート言語ガイド : Django オンラインドキュメント和訳
http://michilu.com/django/doc-ja/templates_python/
この辺を見てみてください。
投稿者: voluntas | 2007年03月19日 23:19
context_processors
の設定はしてますか?
http://django.g.hatena.ne.jp/uemu/20070112/1168576942
投稿者: uemura | 2007年03月21日 17:03
settings.TEMPLATE_CONTEXT_PROCESSORS に 'workstyle.ws.context_processor.workstyle_context' が追加されてますので、これじゃないかなと。
つい先日 custom tag で同じことをやってましたが TEMPLATE_CONTEXT_PROCESSORS の方が良さそうですね。やり直してみようっと。
投稿者: MiCHiLU | 2007年03月22日 17:02
>everesさん
>voluntasさん
>uemuraさん
>MiCHiLUさん
すみません、レスが遅くなりました(ノД`)
皆様(ほぼ)全員一致で「context_processors設定した?」な感じのレスを
頂きましたが、まさにご指摘の通りでして、まっっったく設定どころか
意識もしておりませんでした・・・。(軽いタッチで呼び出せるもんだと思ってた)
とりあえず、教えて頂いたサイトetcを参考にまずは自分で設定した
context_processorを呼び出せるように、という所からやってみようと思います。
有難うございました m(_)m
投稿者: 結局インフルエンザかどうか解らなかった中田 | 2007年03月26日 20:51