MEDIA_ROOT
和MEDIA_URL
如何在ImageField
的环境下正确设置?我应该如何为ImageField设置upload_to
参数?对于MEDIA_ROOT
和MEDIA_URL
的评论是稀缺的,所以我想知道,它们用于什么以及如何正确设置它们。django:ImageField,MEDIA_ROOT,MEDIA_URL,如何正确设置
4
A
回答
8
MEDIA_ROOT是您希望文件去的目录,MEDIA_URL需要是导向同一目录路径的URL。
upload_to选项可以是该目录中的一个目录,因此upload_to =“foo”将进入MEDIA_ROOT的“foo”子目录。
或者它可以是一个函数,它将图像字段实例和提议的基本文件名,并返回您想要使用的实际文件名。所以
upload_to=get_photo_path
和:
def get_photo_path(instance, filename):
if not filename: return ""
exts = re.search('[.]([^.]*)$',filename)
if exts is None:
ext = ''
else:
ext = '.'+exts.group(1)
return "newname%s" % (ext)
会重命名文件,但保持扩展。请注意,“新名称”仍将位于MEDIA_ROOT目录中 - 您不需要返回“/ usr/whatever/something/foo/newname。”。它已经为您贴上MEDIA_ROOT。
更新:
仅供参考,这是很好的了解
<modelobject>.<imagefieldname>.field.generate_filename(<modelobject>, proposed_name)
这是如何生成的图像将进入,从模型之外的部分路径。您需要手动预先添加MEDIA_ROOT以使其成为绝对路径。
相关问题
- 1. Django MEDIA_ROOT,MEDIA_URL等
- 2. Django的MEDIA_ROOT和MEDIA_URL TEMPLATES
- 3. 如何在Heroku上部署django应用程序时设置MEDIA_ROOT和MEDIA_URL
- 4. 无法在django中使用MEDIA_ROOT和MEDIA_URL上传图像
- 5. 从ReactJS前端访问Django MEDIA_URL和MEDIA_ROOT setting.py值
- 6. 如何正确设置syncAdapter?
- 7. 如何正确设置PropertyPath
- 8. 如何正确设置to_yaml
- 9. 如何正确设置ListFragment?
- 10. 如何正确设置UIRequiredDeviceCapabilities?
- 11. 如何在一个特定情况下使用MEDIA_ROOT和MEDIA_URL跳过
- 12. 为Django Heroku App设置MEDIA_URL,Amazon S3
- 13. 如何正确设置滑块值
- 14. 如何在本地正确设置UNIX_TIMESTAMP?
- 15. 如何正确设置Emacs颜色?
- 16. 如何正确设置pandas tz_localize?
- 17. 如何正确设置规范链接
- 18. JAVA-LIBGDX如何正确设置scrollPane
- 19. 如何正确安装和设置Gulp?
- 20. 如何设置正确的路径
- 21. 如何正确设置启用NSSegmentedControl
- 22. 如何正确设置和使用factory_girl_rails?
- 23. 设置Akka.Actors如何正确比较Scala.Actors
- 24. 如何正确设置队列超时?
- 25. 如何正确设置Silverlight CurrentUICulture/CurrentCulture?
- 26. 如何正确设置webservice url?
- 27. 如何正确设置xaml绑定
- 28. 如何正确设置hist图形?
- 29. 如何正确设置SignalR项目
- 30. 如何正确设置HttpClient的延续?
Upvoted - 请注意,它与FileField完全相同。 – cji 2010-07-09 18:23:45
谢谢,这是一个非常好的解释。 – gruszczy 2010-07-09 18:50:12