我有一个模型,我想在其中存储出版物的封面图像,这是 models.py 中该字段的代码:
cover = models.ImageField(upload_to="covers/")
我的settings.py中有:
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
我保存模型的方式如下:
views.py
title = request.POST["title"]
description = request.POST["description"]
initial_bid = int(request.POST["initial_bid"])
category = request.POST["category"]
cover = request.POST["cover"]
save_auction(title, description, initial_bid, category, cover, User(request.user.id))
def save_auction(title, description, initial_bid, category, cover, author):
auction = Auction(
title=title,
description=description,
initial_bid=initial_bid,
category=category,
status=0,
cover=cover,
author= author,
winner = None
)
auction.save()
模型已保存在数据库中,但我没有将图像保存在所需的文件夹中。我尝试定义这样的函数
def user_cover_path(instance, filename):
return 'user_{0}/covers/{1}'.format(instance.user.id, filename)
cover = models.ImageField(upload_to=user_cover_path)
但没有成功
要获取在 html 文件中输入的图像,而不是
cover = request.POST["cover"]
尝试:
cover = request.FILES["cover"]