Загрузите файл в Django Admin, обработайте его и доставьте в шаблон - PullRequest
0 голосов
/ 30 мая 2020

Я хотел бы загрузить объект файла в админке, запустить процесс для его преобразования в html и передать результат в шаблон. Я не могу понять, как получить доступ к объекту файла, чтобы запустить обработчик, но сам файл .json (блокнот jupyter). Вот модель basi c:

#blog/models.py
class FileUploader(models.Model):
    title = models.CharField(max_length = 200)
    notebook = models.FileField(upload_to='./notebooks/')

На мой взгляд, у меня есть функция конвертера ноутбука:

#blog/views.py
def upload_file(request):
    notebook_html =  converter(request.FILES['notebook'])
    return render(request, 'test.html', context={'html': notebook_html})

тогда в моих URL-адресах у меня есть:

#blog/urls.py
urlpatterns = [
    path('', views.upload_file, name = 'notebook_page')
] 

Когда я go просматриваю страницу, я получаю сообщение об ошибке MultiValueDictKeyError at /blog/ 'notebook'. Я не уверен, как получить доступ к самому файлу записной книжки, чтобы запустить процесс преобразования, не уверен, где в объекте MultiValueDict это находится и как это работает. Большая идея - загрузить файл, преобразовать его в html, вставить в шаблон.

...