Django Python List Postmark API
Я пытаюсь отправить список товаров в Postmarks API для отображения товаров в шаблонном чеке. Вот мой запрос на Python/ Django.
items = order.orderitem_set.all()
data = items.values("product__name","quanity","product__point_price", "order_id")
data_list = list(data)
Вот вывод:
[{'product__name': 'Pokemon 25th Anniversary', 'quanity': 1, 'product__point_price': 100.0, 'order_id': 31}, {'product__name': 'Minecraft - Nintendo Switch', 'quanity': 1, 'product__point_price': 100.0, 'order_id': 31}]
[
Итак, я пытаюсь сделать список этих товаров по отдельности в шаблоне API почтовой марки. Вот HTML-код для этого.
<table class="purchase" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>
<h3>Order ID: {{receipt_id}}</h3></td>
<td>
<h3 class="align-right">Date: {{date}}</h3></td>
</tr>
<tr>
<td colspan="2">
<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>
Вот мои представления Django, в которых вы отправляете данные в шаблон почтовой марки. Как мне извлечь элементы по отдельности из списка? Я понимаю, что могу сделать цикл for для извлечения элементов, но я не могу сделать это с данными о полезной нагрузке. Описание, сумма и количество - вот что мне нужно.
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": "description_Value",
"quanity": "quanity_Value",
"amount": "amount_Value"
}
],
},
"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)