gpt4 book ai didi

Django FileField url不是相对的

转载 作者:行者123 更新时间:2023-12-01 02:58:40 24 4
gpt4 key购买 nike

我有类似的东西:

MEDIA_ROOT = '/home/httpd/foo/media/'
MEDIA_URL = 'http://www.example.org/media/'

(……)
file = models.FileField(upload_to='test') 

当我在管理页面中创建具有该字段的对象时,Django 将完整文件路径存储在数据库中,例如:“/home/httpd/foo/media/test/myfile.pdf”。这与 docs 中所说的相反.

All that will be stored in your database is a path to the file (relative to MEDIA_ROOT).



当我在模板中使用 file.url 时,我会得到类似的信息:

http://www.example.org/home/httpd/foo/media/test/myfile.pdf



而不是我想要的:

http://www.example.org/media/test/myfile.pdf



我究竟做错了什么?

最佳答案

我刚刚在我的一个项目中做了一个示例 FileField,它似乎按您的预期工作。这里有几件事可以尝试。

尝试进行如下设置。我知道他们说不以/结束 MEDIA_URL 是不好的,但我就是这样做的,我更喜欢它。您只需要记住,无论何时在模板中使用 MEDIA_URL 并在其后面加上斜杠: href="{{ MEDIA_URL }}/path/to/file"

MEDIA_ROOT = '/home/httpd/foo/media'
MEDIA_URL = '/media'

如果这没有任何帮助,请使用未自定义的 FileField 创建一个新的简化模型,然后查看您是否仍然遇到相同的问题。

关于Django FileField url不是相对的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1756190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com