python docxtpl - не могу создать динамическую c форму - PullRequest
0 голосов
/ 30 апреля 2020

Я пытался создать динамическую таблицу c в слове, но созданный файл имеет все содержимое, кроме списка внутри тега параметров. Я перепробовал много вещей, но не могу заставить его работать.

from docxtpl import DocxTemplate

from registration.models import stuff


def create_doc(options, model, file='resources/stuff.docx'):
    doc = DocxTemplate(file)
    log = stuff(options_object=model)
    log.save()
    l = []
    for i in range(1, len(options) + 1):
        x = {}
        x['number'] = i
        x['course'] = options[i - 1]
        l.append(x)
    context = {
        'name': model.name,
        'reg_no': model.regno,
        'roll_no': model.rollno,
        'rank': model.student_rank,
        'course': model.alloted_to,
        'cat': model.alloted_cat,
        'options': l
    }
    doc.render(context)
    doc.save(f'media/request_{model.rollno}.docx')

Шаблон Вывод

1 Ответ

0 голосов
/ 30 апреля 2020

Я решил это, используя другое имя, нежели «опции». Я предполагаю, что это испортилось с параметром, который был передан каким-то образом и вызвал проблему.

...