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等
- 3. cascading media_root和media_url
- 4. Django的MEDIA_ROOT和MEDIA_URL TEMPLATES
- 5. 如何在Heroku上部署django應用程序時設置MEDIA_ROOT和MEDIA_URL
- 6. Django MEDIA_URL和MEDIA_ROOT問題與CSS
- 7. MEDIA_ROOT,MEDIA_URL,STATIC_ROOT,STATIC_URL和ADMIN_MEDIA_PREFIX的文檔定義是什麼?
- 8. 無法在django中使用MEDIA_ROOT和MEDIA_URL上傳圖像
- 9. 從ReactJS前端訪問Django MEDIA_URL和MEDIA_ROOT setting.py值
- 10. 如何在一個特定情況下使用MEDIA_ROOT和MEDIA_URL跳過
- 11. 如何正確設置to_yaml
- 12. 如何正確設置ListFragment?
- 13. 如何正確設置PropertyPath
- 14. 如何正確設置css?
- 15. 如何正確設置syncAdapter?
- 16. 如何正確設置twitter4j?
- 17. 如何正確設置kaminari
- 18. 如何正確設置UIRequiredDeviceCapabilities?
- 19. 如何正確設置sigaltstack?
- 20. 爲Django Heroku App設置MEDIA_URL,Amazon S3
- 21. 如何正確設置AngularJS文件
- 22. 如何正確設置UIView的alpha? [iOS]
- 23. 如何正確設置Android的線高?
- 24. Microdata/Schema.org/SEO:如何正確設置ContactPoint
- 25. 如何正確設置puppet-rspec?
- 26. 如何正確設置Backbone.js urlRoot方法
- 27. 如何正確設置DocuSIgn oAuth2進程
- 28. 如何正確地設置該佈局
- 29. 如何正確設置按鈕的setOnClickListener?
- 30. 如何正確設置App Store鏈接?
Upvoted - 請注意,它與FileField完全相同。 – cji 2010-07-09 18:23:45
謝謝,這是一個非常好的解釋。 – gruszczy 2010-07-09 18:50:12