我的媒体文件有问题。 在我的models.py中,我可以上传一个没有问题的文件mapa = models.FileField(upload_to ='zones / osm')。这会将文件放入media / zones / osm /。但是当我尝试从views.py访问该文件时,我得到了:异常值:[Errno 2]没有这样的文件或目录:'/ 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.
这可能是我图书馆的问题?如果我想念一些东西请告诉我!提前谢谢。
答案 0 :(得分:0)
您使用绝对路径来文件(它以/
开头),这意味着它从文件系统根目录搜索它,而不是相对于媒体目录。)
如果您的自定义City
对django内部结构一无所知,则需要提供文件/home/User/projects/bla-bla/media/zones/osm/prova1.osm
的完整路径