Django FileField保存url而不是数据库中的路径

时间:2013-12-28 20:09:51

标签: django

我的表格上有一个FileField 我喜欢它的行为方式,将文件写入MEDIA_ROOT等。 我想改变它写入数据库的内容。
如果我查看数据库,我会看到路径.. /home/user/media/path/to/file.txt我想要写的是没有域/media/file.txt的网址路径 是否有一个参数传递给ModelForm或Model?
如果不是,我会覆盖哪个类?

将绝对路径写入数据库似乎是不好的做法。我需要能够动态更改MEDIA_ROOT& MEDIA_URL。并且可能与仅需要媒体URL的其他非django应用程序共享此数据库。

1 个答案:

答案 0 :(得分:3)

我没有看到在数据库中保存URL的方法,但是可以在数据库中保存相对路径。我想你已经将upload_to设置为绝对路径。您可以将其更改为相对于MEDIA_ROOT的路径,例如`upload_to =“path / to /”。另请参阅official Documentation