上载\路径\ Django ImageField的处理程序文件路径无法在HTML fi中检索图像

2024-09-30 22:23:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用上传路径\u处理程序,以便在保存用户上传的图像文件时允许动态文件夹名(如上传日期、项目ID等),以防止重复实例。你知道吗

问题是,我返回的目录太深,无法通过HTML文件检索,因为它以应用程序的名称开头(在本例中为“vault”)。为HTML文件中的图像提供的断开路径如下所示:

<img src="vault/static/vault/images/recordimages/r_1/2017-12-09_03-27-42/300x300.jpg">

但是,通过在开始时使用inspector元素排除应用程序名称“vault”,我可以成功检索图像:

<img src="/static/vault/images/recordimages/r_1/2017-12-09_03-27-42/300x300.jpg">

断开的路径在原始html文件中提供为:

<img src="{{ record.w_image }}">

所引用的模型,w\u image,如下所示型号.py地址:

w_image = models.ImageField(null=False, blank=True, verbose_name='Record Image:', upload_to=upload_path_handler)

然后,当然是上传路径处理程序:

def upload_path_handler(self, filename):
    return "vault/static/vault/images/recordimages/r_{id}/{date}/{file}".format(id=self.id, file=filename, date=datetime.datetime.utcnow().strftime('%Y-%m-%d_%H-%M-%S'))

如果我从/static/开始返回路径,它会将图像保存在WebsiteName/static/。/。。与WebsiteName/vault/static/./.相反。。(请记住,这里的目的是将/static/目录保留为应用程序的子目录,'vault')

我怎样才能允许在不影响路径作为“vault”子目录的情况下检索图像?你知道吗


Tags: 文件图像image路径src目录id应用程序