在React JS中从django rest加载图像

时间:2019-04-23 11:47:48

标签: javascript python reactjs django-rest-framework django-file-upload

试图在React js中将图像存储在Django模型中

首先,我将图像从react上传到django rest,并将其保存在模型中。它保存为“ /media/project_mainimage/newimage.jpg”。但是现在我想从Django获取此图像以进行响应并显示在标签,但无法加载。

Settings.py

           MEDIA_URL='/media/'
           MEDIA_ROOT=os.path.join(BASE_DIR, 'media')

Models.py

       description=models.CharField(max_length=600,blank=True,null=True)
       main_image=models.ImageField(upload_to='project_mainimage')
       videourl=models.CharField(max_length=450,blank=True,null=True)

Urls.py

urlpatterns = [

url('admin/', admin.site.urls),
url(r'^portfolio/', include('PortfolioApp.urls')),

   ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

反应Js组件:

    <img  src={this.state.project.main_image} width="184" height="40" 
    alt="Project image"/>  // shows nothing
    <h1>{this.state.project.main_image}</h1> // shows "/media/project_mainimage/newimage.jpg"

1 个答案:

答案 0 :(得分:-4)

“ / media / project_mainimage / newimage.jpg”无效。它应该是完整的URL,例如“ https://localhost/media/project_mainimage/newimage.jpg

为此,您的服务器应返回完整的url,否则您可以将服务器地址与/media/project_mainimage/newimage.jpg预先绑定。