我有这个媒体根目录:
MEDIA_ROOT = '/var/www/hosted/myapp/static/'和这个媒体网址
MEDIA_URL = '/static/res/'我正在尝试使用可调用文件上传文件:
def get_uploadto(instance, filename):
''' Dummy callable to silence the upload_to field of FileFields '''
return os.path.join('uploads', filename) ,它按计划将图片上传到/var/www/hosted/myapp/static/uploads/中的磁盘上,但在管理员中它创建了一个指向 static/res/uploads 的链接,该链接不存在。有谁知道为什么?当然,我可以简单地将上传目录移动到静态资源中,但我正在寻找更优雅的解决方案。
请您参考如下方法:
这是预期的行为。文件在
MEDIA_ROOT + 'uploads' + filename
or
/var/www/hosted/myapp/static/uploads/filename
指向这些文件的 URL 是:
MEDIA_URL + 'uploads' + filename
or
/static/res/uploads/filename
然后您需要确保您的应用程序或托管环境将 URL 指向磁盘上的位置。在开发环境中,您的 urlpatterns 中会有这样的内容:
(r'^static/res/(?P<path>.*)$', 'django.views.static.serve', {'document_root': os.path.dirname(settings.MEDIA_ROOT)}),
