テンプレートとメディアの絶対パスを取得するために、これを先頭にして settings.py ファイルをセットアップします。
import os.path
import django
DJANGO_ROOT = os.path.dirname(os.path.realpath(django.__file__))
SITE_ROOT = lambda x: os.path.join(os.path.abspath(os.path.dirname(__file__)), x)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
MEDIA_ROOT = SITE_ROOT('media'),
MEDIA_URL = '/media/'
TEMPLATE_DIRS = (
SITE_ROOT('templates'),
)
私のモデルは次のようになります。
class Work(models.Model):
sample = models.ImageField(upload_to='screenshots/%Y/%m/%d/')
name = models.CharField(max_length=200)
url = models.URLField(blank=True)
テンプレートを同期して作成した後、変数を使用しました
{{ work.sample }}
ImageField を使用してアップロードされた画像を呼び出します。サーバーを実行した後、イメージは表示されませんでした。出力は単純でした
<img src="screenshots/2012/08/09/1.png">
タグに絶対パスが表示されないため、画像が正しく呼び出されません。他の情報は問題なく表示されます。誰でもこの問題を解決するのを手伝ってもらえますか? これは簡単な修正だと確信していますが、理解できません。ちなみに私はこれをローカルで実行しています。これが先に進むのに十分な情報であることを願っています。ありがとう。