我一直在开发自己的Django的网站和所遇到的问题,Django的 - 图片上传保存到正确的位置,但无法显示
我有一个模型:
class Text_Image_Page(TrainingModulePage):
page_num = models.IntegerField(default = 0)
title = models.CharField(max_length=200)
text = models.CharField(max_length=200)
image_desc = models.CharField(max_length=200)
image = models.ImageField(upload_to=settings.MEDIA_ROOT, default = 'null')
training_module = models.ForeignKey(TrainingModule, related_name='text_image_pages', null=True)
def __str__(self):
return "Image Page"
我使用modelForm来创建这个模型,并且一切正常,直到我尝试在模板中显示模型。
我的媒体的根在我的settings.py是
STATIC_URL = '/static/'
MEDIA_URL = '/superchem_media/'
STATIC_ROOT = '/home/anthonycalab/webapps/superchem_static/'
MEDIA_ROOT = '/home/anthonycalab/webapps/superchem_media/'
的图像是否被正确上传到媒体的根,因为我可以看到他们通过FileZilla的但是当我去我的模板,以显示我的形象存在:
<img src={{t.image.url}} alt="{{t.image_desc}}" style="width:304px;height:228px;">
如果我加载图像直接的联系,但不显示图像,futhermore我得到一个404错误,消息如下:
Request Method: GET
Request URL: http://anthonycalab.webfactional.com/home/anthonycalab/webapps/superchem_media/41WKTB25KsL._SY395__mNsiAbb.jpg
Using the URLconf defined in superchem.urls, Django tried these URL patterns, in this order:
^training_modules/
^admin/
^accounts/
^superchem\_media\/(?P<path>.*)$
^static\/(?P<path>.*)$
The current URL, home/anthonycalab/webapps/superchem_media/41WKTB25KsL._SY395__mNsiAbb.jpg, didn't match any of these.
任何想法是我可以做的不正确?
编辑:
的问题已被缩小到:
{{t.image.url}} = /home/anthonycalab/webapps/superchem_media/41WKTB25KsL._SY395__mNsiAbb.jpg
当我想
/media/[imagelink].jpg
你能显示你的url设置吗?看起来像你不设置媒体网址http://stackoverflow.com/questions/5517950/django-media-url-and-media-root – AlmasK89
'urlpatterns + =静态(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT) urlpatterns的+ = staticfiles_urlpatterns(settings.STATIC_URL)' 的问题是: image.url是给我: /home/anthonycalab/webapps/superchem_media/image.jpg 代替: media/image.jpg –