繁体   English   中英

Django-使用Apache / Webfaction在生产中提供Media / Admin文件

[英]Django - Serving Media/Admin files in production with Apache/Webfaction

就目前而言,使用以下配置可以毫无问题地提供我的STATIC文件。

在我的settings.py中:

MEDIA_ROOT = '/home/chronic88/webapps/media_media/'
MEDIA_URL = '/media/'

STATIC_ROOT = '/home/chronic88/webapps/static_media/'
STATIC_URL = '/static/'

static_mediamedia_media都是apache服务的应用程序。

我可以通过管理员上传文件,它们会显示在media_media文件夹中,但不会显示在其页面上。 当我检查页面源文件中的文件路径时,它们似乎是正确的mydomain.com/media/image.png但它们根本不会显示。 因此,似乎链接存在,但是在apache和django之间通信时出现了一些我无法动弹的问题。

而我的主要urls.py:

admin.autodiscover()

urlpatterns = patterns('',
    url(r'^', include('polls.urls', namespace="polls")),
    url(r'^admin/', include(admin.site.urls)),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这是我在生产中使用的有效的urls.py。 我在生产中没有最后一行的情况下尝试了它,但结果却相同(文件已上传但无法显示)。

我想念什么?

如果您将Apache配置为从相应的根文件夹提供静态文件,则还必须运行manage.py collectstatic (请参阅docs )。

为了测试静态和媒体文件,我通常在urls.py中包含以下内容:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM