django - Django 如何提供媒体文件?

标签 django file static

我已经设置了Django使用图像的应用程序。我想我已经正确设置了媒体设置 MEDIA_ROOT 和 MEDIA_URL。但是图像不显示。你知道可能是什么问题吗?

让我们考虑这个例子:

图片文件在下/home/www/media/app/photos 我们正在尝试请求 http://example.com/photos/123.jpg

我应该使用这些设置吗?

MEDIA\_ROOT = /home/www/media

MEDIA_URL = http://example.com/app

更新:忘了提及我正在使用内置开发服务器。

最佳答案

仅用于开发

您可以通过在您的 urls.py 中执行此操作来设置静态媒体服务器以与他们的开发服务器一起使用。文件。我附上了显示我如何使用它的代码(以及强制调试条件。)

from django.conf import settings
from django.conf.urls.defaults import *      

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('', 
    (r'^$', 'views.index'),            

    # Accounts
    (r'^accounts/login/$', 'views.user_login'),
    (r'^accounts/logout/$', 'views.user_logout'),

    # Contrib Modules
    (r'^admin/(.*)', admin.site.root),
)

if settings.DEBUG :
    urlpatterns += patterns('',
        (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
    )

我把我的 MEDIA_ROOT在 html/media 的子目录中,并在 settings.py 中链接到它
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'html/media/').replace('\\','/')

开发完成后,项目被部署到 Web 服务器,然后由 Apache 提供静态媒体文件。使用指令。

关于django - Django 如何提供媒体文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/402841/

相关文章:

使用 _set.all 的 Django 模板

python - Django 和 celery : unable to pickle task

javascript - 在选择其他选择字段的基础上自动填充模型表单选择字段

python - Docker-compose 无法到达第二个命令

reactjs - Electron react 设置文件下载路径

基于外部文件的 C++ 数组

matlab - 从 Matlab 编辑器恢复较长的最近文件列表

c# - 静态变量是类实例变量吗?

html - 流畅的网站还值得制作吗?

java - 为什么类对象只能在java中动态创建?