Есть ли способ отобразить файл 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