我有一个项目,其中管理员(编辑)上传图像到数据库,他们将在文章和文章的缩影(列表的形式)显示。
我设法配置显示图像从媒体文件夹,但它不是工作的方式,我想它是。
我想上传图像在特定的“媒体”文件夹中。例如:博客/媒体/评论_图像博客/媒体/评论_minatures_images
我知道上传到特定的文件夹是可能的,但这不是这个问题的重点。我courious我怎么能配置媒体根显示图像从不同的文件夹。
现在我可以指定其中一个文件夹为MEDIA ROOT,并且该文件夹中的图像可以正确显示,但其他文件夹中的图像根本无法显示。
可以配置吗?
我的代码:
models.py
fs_reviews_images = FileSystemStorage(location="blog/media/reviews_images")
class ReviewsImages(models.Model):
image = models.ImageField(storage=fs_reviews_images)
description = models.CharField(max_length=50)
fs_reviews_minature_images = FileSystemStorage(location="blog/media/reviews_miniatures_images")
class ReviewsMiniaturesImages(models.Model):
miniature_image = models.ImageField(storage=fs_reviews_minature_images)
description = models.CharField(max_length=50)
game_title = models.CharField(max_length=50)
def __str__(self):
return f"{self.game_title} {self.description}"
字符串
urls.py
urlpatterns = [
path("admin/", admin.site.urls),
path("", views.HomeView.as_view(), name="home"),
path("reviews", views.ReviewsListView.as_view(), name="reviews"),
path("reviews/article/<pk>", views.ReviewsDetailView.as_view(), name="reviews-detail")
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
型
settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, "blog/media/reviews_miniatures_images")
MEDIA_URL = '/media/'
型
模板
<img src="{{ MEDIA_URL }}{{ review.review_minature_image.miniature_image }}" class="card-img-top"
alt="{{ review.review_minature_image.description }}">
型
我尝试了几个解决方案。我试图在逗号后传递文档根参数中的不同文件夹,一些静态函数。这些都不像我预期的那样工作。我在文档中找不到解决方案。
我希望从一个MEDIA_URL下的“媒体”文件夹的不同文件夹中显示图像。
1条答案
按热度按时间uurity8g1#
你可以使用
.url
:字符串
例如,这是为以下属性指定的路径级别:
car.photo
给出<ImageFieldFile: cars/chevy.jpg>
car.photo.name
给出'cars/chevy.jpg'
car.photo.path
给出'media/cars/chevy.jpg'
car.photo.url
给出'http://www.example.com/cars/chevy.jpg'