Skip to main content
 首页 » 编程设计

python之Django上传文件url问题

2024年09月03日31zhujiabin

我有这个媒体根目录:

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)}),