Мне еще предстоит обернуть голову вокруг django и URL-адресов, и мое замешательство теперь мешает мне делать то, что я чувствую, должно быть очень простой задачей.Django display user uploaded content
Я успешно реализовал загрузку файлов.
В моем файле settings.py я добавил спецификации для хранения загруженных файлов и URL-адрес, который должен использовать Django для их обслуживания.
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL= '/media/'
Я также добавил необходимую строку в urls.py, чтобы Django мог обслуживать файлы из MEDIA_URL.
from django.conf.urls import url, include
from django.contrib import admin
from login_app import views as login_app_views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/', login_app_views.login_user),
# creating registered namespaces for each app
url(r'^login/', include('login_app.urls', namespace = "login_app")),
url(r'^CMIRS/', include('dashboard_app.urls', namespace = "dashboard_app")),
url(r'^CMIRS/', include('submit_app.urls', namespace = "submit_app")),
url(r'^CMIRS/', include('filter_app.urls', namespace = "filter_app")),
url(r'^CMIRS/case/',include('report_app.urls', namespace = "report_app")),
url(r'^CMIRS/', include('search_app.urls', namespace = "search_app")),
url(r'^search/', include('haystack.urls')), ##used in navbar-search
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
В приложении report_app, я хочу, чтобы отобразить веб-страницу гиперссылку, которая может быть использована для просмотра загруженного файла. Когда я нажимаю на гиперссылку, я хочу, чтобы она запрашивала URL-адрес загруженного файла.
Выгрузка выглядит как например в моей модели:
upload1 = models.FileField(upload_to = 'documents/%Y/%m/%d/')
У меня возникли проблемы выяснить, что для использования в визуализации (запрос) на мой взгляд, и как правильно кодировать это в HTML. Когда я пытаюсь использовать «media», я получаю сообщение об ошибке, что его нельзя сопоставить.
Вот отрывок из HTML Я пытаюсь:
<dt>Upload</dt><dd><tr><td><a href="{% url 'media' case.pk %}">{{ case.upload1 }}</a></td></tr></dd>
Я также путают, как настроить мой визуализации (запрос), так что он знает, что для доступа к медиа /, а затем перейти к правильные документы/Y/M/D в зависимости от первичного ключа.
спасибо! Любые советы по форматированию запроса рендеринга (запроса, шаблона, контекста)? Я предполагаю, что мне не нужен шаблон, так как я просто хочу отобразить загруженный файл, но я не могу понять, как правильно адресовать URL-адрес файла. – led4966
Нет, потому что я не понимаю, о чем вы говорите. –
Извините! Это потому, что это не имеет ничего общего с моей проблемой. Новый код, который вы мне предоставили, не вызывает у меня никаких ошибок, но когда я нажимаю на фактическую гиперссылку, это не передает мне файл. Что мне нужно добавить, чтобы сделать эту работу правильно? – led4966