簡體   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