python - 无法从 django rest 框架 url 获取图像
问题描述
我已经设置了我的 django rest 框架服务器,我想在其中上传一些新闻和他们的图片。实际上,我可以上传新闻和图片,因为我在服务器文件系统上检索它们,但是当我请求新闻列表时,我得到一个图片 url,当粘贴到我的浏览器中时,它显示“未找到请求的资源在这台服务器上”。下面报告一些代码。
模型.py
class News(models.Model):
author = models.CharField(max_length=50)
title = models.CharField(max_length=150)
content = models.CharField(max_length=10000)
image = models.ImageField(upload_to='news', blank=True, null=True)
created = models.DateField(auto_now_add=True)
def __str__(self):
return "{}".format(self.title)
序列化程序.py
class NewsSerializer(serializers.ModelSerializer):
class Meta:
model = News
fields = '__all__'
设置.py
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
视图.py
class GetNews(generics.ListAPIView):
queryset = News.objects.all()
serializer_class = NewsSerializer
def post(self, request):
author = request.data['author']
title = request.data['title']
content = request.data['content']
try:
image = request.data['image']
except KeyError:
raise ParseError('Request has no resource file attached')
news = News.objects.create(image=image, author=author, title=title, content=content)
return Response("News successfully uploaded.", status=status.HTTP_200_OK)
def delete(self, request):
token = request.META.get('HTTP_AUTHORIZATION')
if not check_token(token):
return JsonResponse({'message': 'Unauthorized!'}, status=status.HTTP_401_UNAUTHORIZED)
news = News.objects.get(id=request.data['id'])
news.delete()
return JsonResponse({'message': 'News was deleted successfully!'}, status=status.HTTP_204_NO_CONTENT)
网址.py
urlpatterns = [
...
path('news', views.GetNews.as_view())
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
解决方案
推荐阅读
- java - 在java中查找模式匹配词的最快方法
- javascript - 如何操纵从表单中获取的值
- java - Codenameone CSS 自定义字体需要时间来渲染
- java - 分析一个非常大的 CSV 文件,我在某处有内存泄漏,但我找不到它
- python - Pandas 返回 NaN 作为列日期时间之间的差异
- docker - 如何配置 minikube 仪表盘的外部 IP 地址?
- latex - 如何控制KOMA-Script中TOC条目的字体大小
- css - react-bootstrap/Carousel 尺寸在幻灯片动画中增加
- r - 规范化一列包含离散值子集的数据(在 R 中)
- amazon-web-services - 不聚合的 Kinesis Analytics 会话或交错窗口批处理