4

私は奇妙な問題に遭遇しました.誰かが同じ問題に直面した可能性があることを願っています.私の問題は、djangoアプリケーションに保存されたメディアがMEDIA_ROOT URLを介して提供できないようなものです.リストを取得しようとしたときURL myhost/media/ を使用してアプリケーションに保存されたメディア ファイルには、すべてのメディア ファイルが表示されます。

エラー追跡トレース:

Using the URLconf defined in myapp.urls, Django tried these URL patterns, in this order:

1.^media\/(?P<path>.*)$

The current URL, ~myapp/media/image.jpg, didn't match any of these.

私のアプリのsettings.py

MEDIA_ROOT = '/home/itsme/myapp/media/'
MEDIA_URL = '/media/'
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
     'django.template.loaders.eggs.Loader',
)

Urls.py

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = patterns('',

) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

誰でも私にこれに対する解決策を提案できますか?

ありがとう。

4

1 に答える 1

2

非常に多くのトレイルの後、最終的に問題を修正しました。問題はメディア ファイルのアクセス許可に関連しています。これらのメディア ファイルにアクセスしようとしているプロセスはルートであり、ファイルはユーザー itsme によって所有されています。これらのタイプのアクセスを防止するカーネル パッチがあります。なぜ 404 エラーが応答として返されるのか。

于 2014-05-02T02:12:49.450 に答える