django 模板无法正确加载在 ImageField 中上传的图像
django template doesn't load image uploaded in ImageField properly
我知道这个问题已经被提出了很多次,但是我尝试了很多不同的东西,都没有用 add.i 相信我可能忘记在我的代码中添加一些愚蠢的东西,只是不能找出 what.below 是我的标题模型的代码:
class Heading(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=5000)
content = RichTextField()
image= models.ImageField(null=True,blank=True)
date = models.DateField(default=datetime.now())
time = models.TimeField(default=datetime.now())
slug = models.SlugField(unique=True, null=True, blank=True)
我还在我的项目中添加了以下代码settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
下面是我的urls.py
from django.conf.urls import include, url ,patterns
from django.contrib import admin
from django.conf import settings
urlpatterns = [
url(r'^tinymce/', include('tinymce.urls')),
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
url(r'^grappelli/', include('grappelli.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^news/', include('news.urls')),
]
if settings.DEBUG:
urlpatterns += patterns(
'django.views.static',
(r'^media/(?P<path>.*)',
'serve',
{'document_root': settings.MEDIA_ROOT}), )
我的目录是这样设置的
下面是我的模板代码
{% extends "base.html" %}
{%block main_meat%}
{%if headings%}
{%for heading in headings%}
<h1><a href="/news/headline/{{heading.slug}}">{{heading.title}}</a></h1>
<br>
<img src='{{heading.image}}'>
{{heading.content|safe}}
{%endfor%}
{%endif%}
{%endblock%}
当我在网络浏览器上检查元素时,这是我得到的图像路径
<img src="./image_name.png">
subash 是我的项目的名称,news 是 app.i 的名称我知道我已经发布了一个包含很多代码的长问题,如果有人能指出我遗漏的内容,请。
在您的模板中而不是:
<img src='{{heading.image}}'>
尝试:
{% if heading.image %}
<img src='{{heading.image.url}}'>
{% endif %}
我知道这个问题已经被提出了很多次,但是我尝试了很多不同的东西,都没有用 add.i 相信我可能忘记在我的代码中添加一些愚蠢的东西,只是不能找出 what.below 是我的标题模型的代码:
class Heading(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=5000)
content = RichTextField()
image= models.ImageField(null=True,blank=True)
date = models.DateField(default=datetime.now())
time = models.TimeField(default=datetime.now())
slug = models.SlugField(unique=True, null=True, blank=True)
我还在我的项目中添加了以下代码settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
下面是我的urls.py
from django.conf.urls import include, url ,patterns
from django.contrib import admin
from django.conf import settings
urlpatterns = [
url(r'^tinymce/', include('tinymce.urls')),
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
url(r'^grappelli/', include('grappelli.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^news/', include('news.urls')),
]
if settings.DEBUG:
urlpatterns += patterns(
'django.views.static',
(r'^media/(?P<path>.*)',
'serve',
{'document_root': settings.MEDIA_ROOT}), )
我的目录是这样设置的
下面是我的模板代码
{% extends "base.html" %}
{%block main_meat%}
{%if headings%}
{%for heading in headings%}
<h1><a href="/news/headline/{{heading.slug}}">{{heading.title}}</a></h1>
<br>
<img src='{{heading.image}}'>
{{heading.content|safe}}
{%endfor%}
{%endif%}
{%endblock%}
当我在网络浏览器上检查元素时,这是我得到的图像路径
<img src="./image_name.png">
subash 是我的项目的名称,news 是 app.i 的名称我知道我已经发布了一个包含很多代码的长问题,如果有人能指出我遗漏的内容,请。
在您的模板中而不是:
<img src='{{heading.image}}'>
尝试:
{% if heading.image %}
<img src='{{heading.image.url}}'>
{% endif %}