Django: Как извлечь текст из файлов doc и docx, а затем передать его в шаблон для отображения в отдельном div, который впоследствии можно стилизовать?

Я работаю над финальным проектом по CS50W и мне нужно небольшое приложение, которое позволяет пользователям загружать свои "сценарии" - файлы, которые являются либо .doc, либо .docx. Эти файлы затем сохраняются в отдельной папке, а их url сохраняется в поле models.

Я хочу создать отдельное представление для отображения содержимого этих файлов, которое впоследствии я смогу стилизовать отдельно (изменяя цвета фона и текста, размер и т.д.), поэтому я хочу извлечь текст из этих файлов и передать его в мой шаблон. Но когда я делаю это с помощью функции open file, я получаю FileNotFoundError - что, как я предполагаю, связано с тем, что этот файл не является .txt файлом.

Каким образом лучше всего этого достичь?

Вот соответствующая часть моего кода:

class Script(models.Model):
...
    upload = models.FileField("Select your script", upload_to="scripts/%Y/%m/%D/", validators=[FileExtensionValidator(allowed_extensions=['doc', 'docx'])])
...

def read(request, script_id):
    script = Script.objects.get(pk=script_id)
    file = open(script.upload.url, 'r')
    content = file.read()
    file.close()
    return render(request, 'astator/read.html', {
        'script':script,
        'content':content,
    })

Может быть есть лучший способ достичь этого с помощью JS? В любом случае, заранее спасибо за помощь!

Вернуться на верх