Django:下载上传的文件
Django: Downloading uploaded files
我在这个问题中有表格的详细信息
如何下载上传的文件。当我去编辑表单视图时,我可以看到上传的文件 url,但它没有下载。
开发和生产模式要更改什么设置?
单击 link 时出错:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/media/Certificate.docx
Using the URLconf defined in tiktant.urls, Django tried these URL patterns, in this order:
^ ^$ [name='home']
^ ^login/$ [name='login']
^ ^logout/$ [name='logout']
^ ^logout_then_login/$ [name='logout_then_login']
^ ^dashboard/$ [name='dashboard']
The current URL, media/Certificate.docx, didn't match any of these.
媒体 url 未显示在根 urls.py 文件中。您需要在 urls.py 文件中添加以下代码以启用相同的功能。
if settings.DEBUG:
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
注意:请不要忘记在 settings.py 文件中添加 MEDIA_ROOT 和 MEDIA_URL。下载一个文件,需要多写一些代码。
确保您在项目中添加了以下几行
settings.py
import os
def root(x):
return os.path.join(os.path.abspath(os.path.dirname(__file__)), '..',x)
MEDIA_ROOT = root('media')
MEDIA_URL = '/media/'
TEMPLATE_CONTEXT_PROCESSORS = (
'-----------------------'
'django.core.context_processors.media',
)
urls.py
from django.conf.urls import patterns, include, url
from django.conf import settings
urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)
我在这个问题中有表格的详细信息
如何下载上传的文件。当我去编辑表单视图时,我可以看到上传的文件 url,但它没有下载。 开发和生产模式要更改什么设置?
单击 link 时出错:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/media/Certificate.docx
Using the URLconf defined in tiktant.urls, Django tried these URL patterns, in this order:
^ ^$ [name='home']
^ ^login/$ [name='login']
^ ^logout/$ [name='logout']
^ ^logout_then_login/$ [name='logout_then_login']
^ ^dashboard/$ [name='dashboard']
The current URL, media/Certificate.docx, didn't match any of these.
媒体 url 未显示在根 urls.py 文件中。您需要在 urls.py 文件中添加以下代码以启用相同的功能。
if settings.DEBUG:
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
注意:请不要忘记在 settings.py 文件中添加 MEDIA_ROOT 和 MEDIA_URL。下载一个文件,需要多写一些代码。
确保您在项目中添加了以下几行 settings.py
import os
def root(x):
return os.path.join(os.path.abspath(os.path.dirname(__file__)), '..',x)
MEDIA_ROOT = root('media')
MEDIA_URL = '/media/'
TEMPLATE_CONTEXT_PROCESSORS = (
'-----------------------'
'django.core.context_processors.media',
)
urls.py
from django.conf.urls import patterns, include, url
from django.conf import settings
urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)