0

メディア ファイルに問題があります。私の models.py では、mapa = models.FileField(upload_to='zones/osm') で問題なくファイルをアップロードできます。これにより、ファイルが media/zones/osm/ に配置されます。しかし、views.py からファイルにアクセスしようとすると、次のようになります: Exception Value: [Errno 2] No such file or directory: '/media/zones/osm/prova1.osm'

誰か私が間違っていると言うことができますか? これが私の構成です:

ディレクトリ構造:

tottrack/
    media/  
        zones/
            osm/
    principal/
        views.py
        models.py
    tottrack/
        settings.py

settings.py:

SETTINGS_PATH = os.path.dirname(os.path.realpath(__file__))
PROJECT_PATH = os.path.join(SETTINGS_PATH,'..')
DEBUG = True

MEDIA_ROOT = os.path.join(PROJECT_PATH,'media')
MEDIA_URL = '/media/'

INSTALLED_APPS = (
    'django.contrib.staticfiles',
)

url.py:

if settings.DEBUG:    
urlpatterns += staticfiles_urlpatterns()
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}),
)

Views.py:

c = City('/media/zones/osm/prova1.osm') #City() it's a method from a custom python library.

それは私のライブラリの問題でしょうか?何か見逃したら教えてください!前もって感謝します。

4

1 に答える 1

0

ファイルへの絶対パス (で始まる/) を使用します。つまり、メディア ディレクトリからではなく、ファイル システムのルートから検索します。)

カスタムCityがdjangoの内部について何も知らない場合は、ファイルへのフルパスを提供する必要があります/home/User/projects/bla-bla/media/zones/osm/prova1.osm

于 2013-05-28T20:17:36.820 に答える