2015-10-22 3 views
0

pdf.js в в моих статических файлов (как показано ниже):
/static/js/pdf.js
Как использовать pdf.js с Джанго

И я могу отобразить PDF, расположенный в папке static (как показано ниже) :
/static/sample-pdf.pdf

, но я хочу, чтобы иметь возможность показать PDF, расположенный в моей media папке (как PDF должны быть сохранены в качестве медиа-файла в Джанго)

media папка находится в том же каталоге, как в static папка (как показано ниже):
project/static и
project/media

Возможно ли это?

Не спрашивайте, требуется ли больше ясности.

+0

Для того, чтобы быть прозрачным, из проекта/static/pdf.js, вы хотите получить доступ к PDF-файлу в папке вашего проекта/носителя? Разве вы не можете просто «../ media/sample-pdf.pdf»? – user2719875

+0

, если цель pdf находится в папке 'media', тогда как я могу сделать' ../ static/sample-pdf.pdf' ?????? – dreamer

+0

Умение делать это 'static/js/viewer.html /? File =/static/sample-pdf.pdf', но не в состоянии сделать это' static/js/viewer.html /? File =/media/sample-pdf .pdf' – dreamer

ответ

0

Попробуйте настроить MEDIA_ROOT и MEDIA_URL в своих настройках.py и посмотреть, работает ли он. Откройте settings.py и добавьте:

# Absolute filesystem path to the directory that will hold user-uploaded files. 
# Example: "/var/www/example.com/media/" 
# MEDIA_ROOT is used when users upload media. 

MEDIA_ROOT = '/home/absolute/path/to/your/media/folder' 

# URL that handles the media served from MEDIA_ROOT. Make sure to use a 
# trailing slash. 
# Examples: "http://example.com/media/", "http://media.example.com/" 
MEDIA_URL = '/media/' 

Тогда вам может понадобиться, чтобы добавить это в urls.py:

r'^media/(?P<path>.*)$', 'django.views.static.serve', 
      {'document_root': settings.MEDIA_ROOT}), 
+0

можете объяснить фрагмент URLs.py? – dreamer

+0

@dreamer Из моего понимания, точно так же, как у вас есть статическая папка, доступ к которой вы можете получить с помощью 'static /' URL, приведенный выше фрагмент позволяет вам получить доступ к параметрам .MEDIA_ROOT' (папке с медиафайлами), перейдя на 'media/'URL. С помощью этого кода вы также можете разрешить пользователям загружать файлы (которые будут сохранены в вашей папке с носителями). Чтобы получить доступ к этим мультимедийным файлам, перейдите в 'media/FileName'. Django захватывает 'fileName' и передает его в' django.views.static.serve', который обрабатывает его (аналогично тому, как обрабатывается 'static'). – user2719875

+0

@dreamer Я получил фрагмент URLs.py отсюда: http://stackoverflow.com/questions/5517950/django-media-url-and-media-root, о котором также говорится немного в документации: https : //docs.djangoproject.com/en/1.8/howto/static-files/#serving-files-uploaded-by-a-user-during-development Имейте в виду, что он предназначен для использования в целях разработки и для вашего производственного сервера , вам может потребоваться сделать это несколько иначе (как указано в документации). – user2719875

3

Это будет отображать файл на странице HTML из каталога

<iframe src="../media/sample-pdf.pdf" id = "pdf" style="width:1500px; height:1500px;" frameborder="0"></iframe> 

проверить консоль браузера, чтобы проверить путь, если он не отображается. Это так просто

Смежные вопросы