2013-05-28 90 views
0

我遇到媒体文件问题。 在我的models.py中,我可以上传没有mapa = models.FileField(upload_to ='zones/osm')的问题的文件。这将该文件放入media/zones/osm /中。但是,当我试图访问views.py文件我得到这个:例外值:[错误2]没有这样的文件或目录:'/media/zones/osm/prova1.osm'Django。无法访问media_url媒体文件

有人可以说我waths是错的?下面是我的配置:

目录结构:

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. 

这可能是我的图书馆的问题?如果我错过了什么请告诉我!提前致谢。

回答

0

您使用绝对路径文件(它具有/开始),这意味着它从文件系统的根目录,而不是相对于媒体的目录搜索。)

如果您的自定义City不知道Django的内部事情,你需要提供完整的文件路径/home/User/projects/bla-bla/media/zones/osm/prova1.osm

+0

谢谢!但是没有办法做到相对路径? – user2170928