我已将所有必需的代码添加到settins.py(MEDIA_URL,MEDIA_ROOT和django.template.context_processors.media)。 我还为图像创建了模型
class Image(models.Model):
question = models.ForeignKey(Question, on_delete = models.CASCADE)
file = models.ImageField(upload_to="polls/")
author = models.CharField(max_length = 60, default = "Unknown")
因此,当我通过管理面板上传图片时,django将其保存到mysite / media / polls
我现在如何从模板访问图片?我尝试了很多,但未成功的尝试似乎是
{% if question.image_set %}
{% for image in question.image_set.all %}
<img src="{{ MEDIA_URL }}{{ image.file }}">
{% endfor %}
{% endif %}
此模板的结果类似于<img src="media/polls/rabstol_net_china_04_1600x1200.jpg">
路径似乎是正确的,但是图像没有出现。我想这是因为结果是相对路径,但我不知道如何将其设为绝对路径。
设置:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_URL = 'media/'
MEDIA_ROOT = os.path.join(BASE_DIR, MEDIA_URL)
...
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.media',
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},]
答案 0 :(得分:0)
serializer