【发布时间】:2019-03-11 12:42:20
【问题描述】:
我正在尝试在 Django 中显示图像字段中的图像。图像域工作正常。我可以将图像保存到本地存储,但问题是当服务器运行时,我在图像字段的位置看到一个 url。我猜它应该是图像的 url,但是当我点击它时,它只是重新加载当前页面。我怎样才能做到这一点,当我点击它时,我会被带到一个带有图像的页面?这是我尝试过的方法,但它不起作用:
#views.py
class CreateView(generics.ListCreateAPIView):
"""This class defines the create behaviour of our REST Api"""
queryset = BucketList.objects.all()
serializer_class = BucketListSerializerPostOnly
def perform_create(self, serializer):
"""Save post data when creating a new bucketlist"""
serializer.save()
class DetailsView(generics.RetrieveUpdateDestroyAPIView):
"""This Class handles the http GET, PUT, and DELETE requests"""
queryset = BucketList.objects.all()
serializer_class = BucketListSerializer
# shows image in a new tab?
def show_image(request, img):
context = {
'image': img
}
return render(request, 'images.html', context)
# my html file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<img src="/media/documents/{{ image }}">
<a href="/">Go Back</a>
</body>
</html>
# urls.py
urlpatterns = [
url(r'^bucketlist/$', CreateView.as_view(), name='create'),
url(r'^', CreateView.as_view(), name='create'),
url(r'^bucketlist/(?P<pk>[0-9]+)/$', DetailsView.as_view(), name='details'),
url(r'^media/documents/(?P<img>[\w\-]+)/$', views.show_image,
name='view_image')
]
urlpatterns = format_suffix_patterns(urlpatterns)
【问题讨论】:
标签: python django url-routing imagefield