Django & POSTMARK API Шаблоны

Я пытаюсь отправить шаблон квитанции с помощью POSTMARK API из моего приложения Django, но у меня возникают трудности с извлечением нескольких элементов в деталях квитанции. Я преобразовываю свой запрос элементов в заказе в список, затем из списка мы сериализуем его в JSON. Теоретически, возможно, мне не нужно сериализовать его в JSON, я мог бы просто использовать список. Вот вывод, который я получаю с JSON с товарами, когда я запускаю print:

[{'product__name': 'Pokemon 25th Anniversary', 'quanity': 1, 'product__point_price': 100.0}]

Сериализация выглядит правильно, однако если у вас несколько элементов, это становится проблемой. Если вы посмотрите вниз на мой код под деталями получения, вы увидите, что я должен был указать индекс [0] перед указанием имени ключа. Как мне сделать это без указания индекса [0], чтобы получить все товары?

Вот мой код :

VIEW

@login_required
def checkoutcomplete(request):
    customer = request.user
    order = Order.objects.get(customer= customer , complete = False, )
    favorites = Favorite.objects.filter(customer = customer.id)
    today_date = datetime.datetime.today()    
    today_date_strf = datetime.datetime.strftime(today_date,"%m/%d/%Y" )
    items = order.orderitem_set.all() 
    data = list(items.values("product__name","quanity","product__point_price"))
    save_json = json.dumps(data, indent = 2)
    my_cart_json = json.loads(save_json)
    #POST MARK API 
        url = "https://api.postmarkapp.com/email/withTemplate"
        payload = json.dumps({
        "From": "",
        "To": "",
        "TemplateId": 28132290,
        
        "TemplateModel": {
        "counselor_name": "Fellow Counselor",
        "student_name": student.student_name,
        "receipt_id": str(order.transaction_id),
        "date": today_date_strf,
        "points": order.get_cart_total,
        "receipt_details": [
        {
            "description": my_cart_json[0]["product__name"], <--- Here
            "quanity": my_cart_json[0]["quantity"],   <--- Here
            "amount": my_cart_json[0]["product__point_price"]   <---Here
        }
            ],
        },
        "MessageStream": "outbound"
        })
        headers = {
        'Content-Type': 'application/json',
        'X-Postmark-Server-Token': settings.POSTMARK["TOKEN"]
            }
        response = requests.request("POST", url, headers=headers, data=payload)
        print(response.text)


Вот HTML в шаблоне POSTMARKS.

 <table class="purchase_content" width="100%" cellpadding="0" cellspacing="0">
        <tr>
          <th class="purchase_heading">
            <p class="align-left">Description</p>
          </th>
          <th class="purchase_heading">
            <p class="align-right">Amount</p>
          </th>
        </tr>
        {{#each receipt_details}}
        <tr>
          <td width="60%" class="align-left purchase_item">{{description}} Quanity: {{quanity}}</td>
          <td width="40%" class="align-right purchase_item">{{amount}}</td>
        </tr>
        {{/each}}
        <tr>
          <td width="80%" class="purchase_footer" valign="middle">
            <p class="purchase_total purchase_total--label">Total Points</p>
          </td>
          <td width="20%" class="purchase_footer" valign="middle">
            <p class="purchase_total">{{points}}</p>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>

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