我使用Django REST框架作为后端,React作为前端,我创建了一个数据库,在那里我上传了一些文章。这些文章包含标题、正文和图片。我在React中通过axios获取这个数据库,我可以渲染标题和正文,但不能渲染图像。我想我必须使用图像存储的绝对路径,但问题是,我无法访问该图像。
型号.py
class Article(models.Model):
index = models.AutoField(primary_key=True, editable=False)
title = models.CharField(blank=False, max_length=150,editable=True)
img = models.ImageField(upload_to='articles/', blank=True, null=True)
Django Rest Framework调度器
{
"index": 2,
"title": "First article",
"img": "/media/articles/14-101.jpg",
},
设置.py
...
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urls.py…
url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
url(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
当我尝试访问127.0.0.1:8000/media/articles/14-101.jpg时,服务器没有收到请求。
提前谢谢!
"问题"(实际上不是问题,是我的错(在settings.py文件中,在那里你只能通过HTTPS访问服务器,因此,为了访问图像,正确的url是:
https://127.0.1.1:8000/media/articles/image_name.jpg
请注意IP地址前的https://。我还通过runsslserver 127.0.0.1:8000命令运行服务器。