Есть ли способ отобразить файл docx с помощью шаблона Django?

Я создаю функцию, которая принимает два аргумента: Список документов, и словарь, содержащий значения с именами ключей, которые соответствуют ключевым словам в документах, которые обозначены двумя фигурными скобками вокруг них: {{Value}}. Я должен объединить все документы в один документ и вывести этот документ с помощью Django Template. Django будет автоматически считывать ключевые слова и заменять их значениями из словаря. Все просто, верно? Наверное, нет, но я должен спросить.

Есть ли какой-нибудь способ сделать это? Возможно ли это вообще?

Просто чтобы уточнить, я уже объединил все документы в один, так что меня смущает только его рендеринг. Кто-нибудь сталкивался с подобной ситуацией?

Вы можете использовать эту библиотеку: https://docxtpl.readthedocs.io/en/latest/

pip install docxtpl

views.py
    from django.http import HttpResponse
    from docxtpl import DocxTemplate

    def render_docx(request):
        doc = DocxTemplate("your_docx_template.docx") 
        # you have to place your_docx_template.docx in the root of your project (same level as manage.py).
        
        context = {
        # ...
        }
    
        response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.wordprocessingml.document")
        response["Content-Disposition"] = 'filename="your_doc_name.docx"'
    
        doc.render(context)
        doc.save(response)
    
        return response
Вернуться на верх