0

我有媒体文件的问题。在我的 models.py 中,我可以使用 mapa = models.FileField(upload_to='zones/osm') 毫无问题地上传文件。这会将文件放入 media/zones/osm/。但是当我尝试从views.py访问文件时,我得到这个:异常值:[Errno 2]没有这样的文件或目录:'/media/zones/osm/prova1.osm'

有人可以说我的 waths 错了吗?这是我的配置:

目录结构:

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

设置.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',
)

网址.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}),
)

视图.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 回答