django Templates sum prices of cart items - python

Inside DJango templates, in an HTML Page, I have the following lines of code in body.
{% for cart_data in cart_items|slice:"0:"%}
<div class="Cart-Items pad ">
<div class="image-box">
<img src={{cart_data.img_url}} style="height:120px;"}} />
</div>
<div class="about">
<h1 class="title">{{cart_data.name}}</h1>
<h3 class="product_id">{{cart_data.retailer_sku}}</h3>
<div class="sku">
<div class="color">{{cart_data.color}} ({{cart_data.size}})</div>
</div>
</div>
<div class="prices">
<div class="amount">$ {{cart_data.price}}</div>
</div>
</div>
{% endfor %}
This code extacts the cart items and displays them on the page.
Now I want to do is sum all the proces and show total after this loop. How to do that?

here not possible to directly calculate sum of prices but,
you can do this things with view like this
***** views.py *****
def ShowCart(request):
usr = request.user
product_data = Cart.objects.filter(user=usr)
cart_count = Cart.objects.filter(user=usr).count()
categories = CategoryModel.objects.all()
amount = 0
shipping_amt = 40
final_amt = 0
data = Cart.objects.filter(user=usr)
for i in data:
prod_amt = ((i.product.price)*(i.quantity))
amount += prod_amt
final_amt = amount+shipping_amt
context = {'product_data': product_data, 'cart_count': cart_count,
'prod_amt': prod_amt, 'amount': amount, 'final_amt': final_amt,
'shipping_amt': shipping_amt,'categories':categories}
**** cart.html ****
{% for cart_data in cart_items|slice:"0:"%}
<div class="Cart-Items pad ">
<div class="image-box">
<img src={{cart_data.img_url}} style="height:120px;"}} />
</div>
<div class="about">
<h1 class="title">{{cart_data.name}}</h1>
<h3 class="product_id">{{cart_data.retailer_sku}}</h3>
<div class="sku">
<div class="color">{{cart_data.color}} ({{cart_data.size}})</div>
</div>
</div>
<div class="prices">
<div class="amount">$ {{cart_data.price}}</div>
</div>
</div>
{% endfor %}
<div class="col-4 p-2 border">
<div class="h3 p-2">The Total Amount of </div>
<table class="table table-hover">
<tbody>
<tr>
<td>Amount</td>
<td class="text-right">₹ {{amount}}</td>
</tr>
<tr>
<td>Shipping</td>
<td class="text-right">₹ {{shipping_amt}}</td>
</tr>
<tr>
<td><strong>Total</strong>(Including VAT)</td>
<td class="text-right"><strong>₹ {{final_amt}}</strong></td>
</tr>
</tbody>
</table>
<a class="btn btn-block btn-primary" href="{% url 'checkout' %}">Checkout</a>
</div>

Related

Separating modal HTML from main HTML

What I would like the following code to do is separate rendering of a page and the modals generated within it, the goal is a generic table framework based in Bootstrap in which I can put cells of different types, text, links, or buttons. I populate a basic table in app.py and then have a separate method in the same module I would use to create a modal that would pop up in the same window as the main one. The MWE consists of two functions in the python module and two separate HTML files.
I know it won't work as is because there's nothing to connect to gen_modal, but I'm not sure what I would need to put where to connect this together. Any thoughts?
app.py:
#bp.route('/view_table_test')
#login_required
def modal_test():
columns = [{'name':'column_a', 'display-name':'Column A', 'type':'text'},
{'name':'column_b', 'display-name':'Column B', 'type':'text'},
{'name':'column_c', 'display-name':'Column C', 'type':'text'},
{'name':'column_d', 'display-name':'Column D (Links)', 'type':'link'},
{'name':'column_e', 'display-name':'Column E (Buttons)', 'type':'button'}]
data = []
for i in range(10):
datum = {}
datum['column_a'] = {'text':'Text A' + str(i), 'link':None}
datum['column_b'] = {'text':'Text B' + str(i), 'link':None}
datum['column_c'] = {'text':'Text C' + str(i), 'link':None}
datum['column_d'] = {'text':'Link D' + str(i), 'link':'link_a'+str(i)}
datum['column_e'] = {'text':'Button E' + str(i), 'data-target':'#data_target_'+str(i)}
data.append(datum)
return render_template('view_table_test.html',
title="View Test Columns",
columns=columns,
data=data)
#bp.route('/<int:id>/gen_modal', methods=('GET', 'POST'))
def gen_modal(id):
data_target = 'data_target_'+str(id)
text = 'Modal Panel For ID ' + str(id)
return render_template('gen_modal.html',
data_target=data_target,
text=text)
view_table_test.html:
{% block header %}
<h1>{% block title %}{{ title }}{% endblock %}</h1>
{% endblock %}
{% block content %}
<table id="table">
<thead>
<tr>
{% for column in columns %}
<th data-field="{{ column['name'] }}"
data-filter-control="select"
data-filter-control-visible="true"
data-sortable="true">{{ column['display-name'] }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for row in data %}
<tr>
{% for column in columns %}
{% if column['type']=="link" %}
<td>{{ row[column['name']]['text'] }}</td>
{% elif column['type']=="button" %}
<td><button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="{{ row[column['name']]['data-target'] }}">{{ row[column['name']]['text'] }}</button></td>
{% else %}
<td>{{ row[column['name']]['text'] }}</td>
{% endif %}
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
gen_modal.html:
<!doctype html>
<!-- Modal -->
<div class="modal fade" id="{{ data_target }}" role="dialog">
<div class="modal-dialog modal-lg">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">{{ text }}</h4>
</div>
<div class="modal-body">
<p>Modal Stuff</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
Here is the visual output. The buttons don't work.

Field 'id' expected a number but got 'Student'

I tried to apply python manage.py migrate I get the error Field 'id' expected a number but got 'Student'.
I've set the value of primary key to be id.
views.py:
#----------------------STUDENT OPERATION------------------------------------
#login_required()
def test_form(request):
students = TestModel.objects.all()
paginator = Paginator(students,20)
page_number = request.GET.get('pages')
page_obj = paginator.get_page(page_number)
enter code here
if request.method == 'POST':
form = TestForm(request.POST)
if form.is_valid():
x = form.instance.student
print(x)
p = form.save(commit=False)
p.save()
messages.success(request,'Student "{}" has been succesfully added!'.format(x))
return redirect('testform')
else:
form = TestForm()
return render(request,'testform.html', {'form':form,'students':page_obj})
#login_required()
def update_form(request,id):
if request.method == 'POST': #defpost
obj = TestModel.objects.get(pk = id)
form = TestForm(request.POST,instance=obj)
if form.is_valid():
form.save()
messages.success(request,'Student "{}" was succesfully updated'.format(obj.student))
return redirect('testform')
else: #def get()
obj = TestModel.objects.get(pk=id)
print(obj.student)
print('###')
form = TestForm(instance=obj)
return render(request,'testform_update.html',{'form':form})
#login_required()
def del_testform(request,id):
if request.method == 'POST':
obj = TestModel.objects.get(pk = id)
student = obj.student
obj.delete()
messages.warning(request,'Student "{}" has been deleted succesfully!'.format(student))
return redirect('testform')
def home(request):
posts = Post.objects.all().order_by('-date_posted')[:8]
destinations = Destinations.objects.all().order_by('date_posted')[:6]
return render(request,'home.html', {'posts':posts, 'destinations':destinations})
models.py:
class TestModel(models.Model):
GENDER_CHOICES = (('Male','Male'),('Female','Female'))
student = models.CharField(max_length=100,null=True)
address = models.CharField(max_length=100)
gender = models.CharField(choices=GENDER_CHOICES,max_length=50)
email = models.EmailField(null=True)
def __str__(self):
return self.student
testform.html:
{% extends 'index.html' %}
{% load static %}
{% load crispy_forms_tags %}
{% block content %}
<div class="container-fluid">
<div class="row justify-content-center">
<div class="col-md-8">
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }} alert-dismissible fade show my-2" role="alert">
{{ message }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
{% endfor %}
{% endif %}
<div class="col-md-5 mr-auto">
<form method="POST">
{% csrf_token %}
<legend class="">Enter Student Details</legend>
<div class="form-group">
{{form|crispy}}
<button type="submit" class="btn btn-primary">Add Student</button>
</div>
</form>
</div>
<div>
</div>
<div class="my-2 ">
<div class="text-center border bg-white">
<h3>Student Table</h3>
</div>
<table class="table table-white table-striped table-hover table-bordered">
<tr>
<td colspan="6">
<form class="form-inline" name = "table-search" >
<div class="form-group mr-auto">
<input type="text" class="form-control" placeholder = "Search Student">
<button class="btn btn-primary ml-2 mt-1 form-control " type="submit">Search</button>
</div>
<div class="form-group">
</div>
</form>
</td>
</tr>
<thead>
<tr>
<th>SN</th>
<th>Name</th>
<th>Address</th>
<th>Gender</th>
<th>Email</th>
<th>Action</th>
</tr>
</thead>
{% for student in students %}
<tr>
<td>{{forloop.counter}}.</td>
<td>{{student.student}}</td>
<td>{{ student.address}}</td>
<td>{{student.gender}}</td>
{% if student.email %}
<td>{{student.email}}</td>
{% elif student.email == None %}
<td class="text-danger">Not Available</td>
{% endif %}
<td>
<button type="button" class="btn btn-danger btn-sm" data-toggle="modal"
data-target="#staticBackdrop{{student.id}}">
<i class="fas fa-trash mr-2"></i> Delete
</button>
<a class="btn btn-primary btn-sm " href="{% url 'testform-update' student.id%}"><i class="fas fa-pen mr-2"></i> Update</a>
</td>
</tr>
<!-- modal-->
<div class="modal fade" id="staticBackdrop{{student.id}}" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel"><span class="text-danger">Delete</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="text-muted">Delete student <strong>"{{student.student}}"</strong>?
</div>
<div class="modal-footer">
<form method="POST" action="{% url 'testform-delete' student.id %}" name="deleteform">
{% csrf_token %}
<button class="btn btn-danger" type="submit">Delete</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close
</button>
</form>
</div>
</div>
</div>
</div>
<!-- modal-->
{% endfor %}
</table>
</div>
</div
</div>
</div>
{% endblock %}

request.form returns only first value when converting to dictionary

I have the following HTML form:
<form method="POST" action="/dashboard/account/assignkpibulk">
<div class="modal-body form-group">
Select from the <b>dropdown</b> the KPI to be assign to each campaign,
then click <b>"Assign KPI´s"</b> to complete the assigment. If you want to assign a KPI to only one
campaign click on <b>Assign KPI</b>
</div>
<div class="container">
<div class="card-body">
<div class="table-responsive">
<table class="table" id="modalKpiTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>Campaign Name</th>
<th>Campaign ID</th>
<th>KPI Name</th>
<th class="text-center">Assigment Actions</th>
</tr>
</thead>
<tbody>
{% for info in campaign_data %}
<tr>
<input type="hidden" name="campaign_name" value="{{info.campaign}}">
<td>{{info.campaign}}</td>
<input type="hidden" name="campaign_id" value="{{info.campaign_id}}">
<td>{{info.campaign_id}}</td>
<td class="text-center">
<div class="form-group">
<select class="form-control form-control-sm" id="kpiFormControlSelect" name="kpi_name">
<option value="none">None</option>
{% for kpi in kpi_info %}
<option value="{{kpi.kpi_name}}">{{ kpi.kpi_name }}</option>
{% endfor %}
</select>
</div>
</td>
<td class="text-center">
<a href="" class="d-none d-sm-inline-block btn btn-sm btn-info shadow-sm">
<i class="fas fa-square-root-alt fa-sm text-white-50"></i> Assign KPI
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<br>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
<input class="btn btn-primary" type="submit" value="Assign KPI´s" href="">
</div>
</form>
When I run the following function:
#blueprint.route('/account/assignkpibulk', methods=['GET','POST'])
#isLoggedIn
def assign_kpi_bluk():
if request.method == 'POST':
print(request.form.to_dict())
_data = {'user_name': session['user_name'],
'id': None,
'data': request.form.to_dict()}
return redirect(url_for('dashboard.assign_kpi', client_id=session['client_id'], client_name=session['client_name']))
when I print(request.form.to_dict()) it only request the first value of the dictionary:
{'modalKpiTable_length': '10', 'campaign_name': 'Sample Campaign', 'campaign_id': '900990999', 'kpi_name': 'none'}
However if I do just print(request.form) I got all the results:
ImmutableMultiDict([('modalKpiTable_length', '3'), ('campaign_name', 'Sample Campaign'),
('campaign_name', 'Sample Campaign 2'), ('campaign_name', 'Sample Campaign 3'),
('campaign_id', '900990999'), ('campaign_id', '9009909992'), ('campaign_id', '9009909993'),
('kpi_name', 'none'), ('kpi_name', 'kpi_1'), ('kpi_name', 'kpi_2')])
Most answers / documentation I read suggest to add to_dict(request.form) or dict(request.form) to convert the request to a dictionary however did´t work
Thanks
The request.form object is an immutable dictionary and has type of werkzeug.ImmutableMultiDict which has to_dict(flat=True) function.
refer to:
https://tedboy.github.io/flask/generated/generated/werkzeug.ImmutableMultiDict.to_dict.html
ImmutableMultiDict.to_dict(flat=True)
Return the contents as regular dict. If flat is True the returned dict will only have the first item present, if flat is False all values will be returned as lists.
so to get all values you need to set flat parameter to False in request.form.to_dict(flat=False)

How to sum the list in template django?

I want to get the sum of the moneylog_set.price
so i try to assign total_pay but the error occur
view.py
def all_moneybooks(request):
current_user = request.user
if current_user.is_authenticated:
current_user_moneybooks = current_user.owner.all()
total_pay = 0
book_total_pay_list = []
for current_user_moneybook in current_user_moneybooks:
moneylog_set = current_user_moneybook.moneylog_set.all()
for moneylog in moneylog_set:
total_pay += moneylog.price
book_total_pay_list.append(
(moneylog.moneybook.id, moneylog.price))
print(dir(moneylog_set))
print(book_total_pay_list)
return render(request, "home.html", context={"current_user": current_user, "all_moneybooks": all_moneybooks, "current_user_moneybooks": current_user_moneybooks, "total_pay": total_pay, "book_total_pay_list": book_total_pay_list})
else:
return render(request, "home.html", context={"current_user": current_user, "all_moneybooks": all_moneybooks})
home.html
{% for current_user_moneybook in current_user_moneybooks %}
<a href="{% url "moneybooks:detail" current_user_moneybook.pk %}">
<div class="border-gray-400 border-t border-b border-l border-r">
<div class="container flex mx-auto">
<div class="w-1/5 my-10">
<p class="text-center text-gray-900">{{current_user_moneybook.country}}</p>
</div>
<div class="w-3/5 my-3">
<div class="inline-block align-middle text-gray-900 font-bold text-xl mb-2">{{current_user_moneybook.name}}</div>
<div class="text-gray-700 text-sm">{{current_user_moneybook.companion.all}}</div>
<div class="text-gray-900 text-sm">{{current_user_moneybook.start_date|date:"Y년 m월 d일"}} ~ {{current_user_moneybook.end_date|date:"Y년 m월 d일"}}</div>
</div>
<div class="w-1/5 my-10">
<div class="text-center text-gray-900 text-gray-900 font-bold text-xl mb-2">
{{book_total_pay_list[current_user_moneybook.pk:2].sum()}}
</div>
</div>
</div>
</div>
</a>
{% endfor %}
Could not parse the remainder: '[current_user_moneybook.pk:2]' from 'book_total_pay_list[current_user_moneybook.pk:2]'
is there any other method or more query way?
also, I guessenter code here .sum() method is not working. is there other method to sum this price list?

Django weasyprint HTML to PDF convert is working very slow

I am covering HTML to PDF file using weasyprint in Django web app. Everything is working fine but It is working is very slow when converting HTML to PDF. It takes more than two minutes long When I convert it.
I am using Bangla font in my HTML file.
this is my views.py code
def get_pdf_file(request, customer_id, sys_type):
sys_type = customer_id
area = "pdf"
site_credit = site_credit1
time_now = timezone.now()
customers = get_object_or_404(CustomerInfo, pk=customer_id)
due_taka_track = customers.duetaka_set.all()
if due_taka_track == None:
due_taka_track = 0
unpaid_taka = int(customers.customer_price -
customers.customer_due_taka_info)
due_taka_track = customers.duetaka_set.all()
sum_cost_taka = due_taka_track.aggregate(
sp=Sum('customer_due')).get('sp', 0)
if sum_cost_taka == None:
sum_cost_taka = 0
total_paid_taka = sum_cost_taka + customers.customer_due_taka_info
payment_status = 'complete'
payment_message = 'Full Paid'
remain_taka='PAID'
remain_msg=''
if customers.customer_due_taka_info < customers.customer_price:
payment_status = 'incomplete'
payment_message = 'সম্পূর্ন টাকা পরিষোধ করা হয়নি'
remain_msg='টাকা বাকী আছে'
baki_ase="পাওনা আছে "
remain_taka = customers.customer_price - customers.customer_due_taka_info
context = {'customers': customers,
'sys_type': sys_type,
'area': area,
'site_credit': site_credit,
'site_name': 'Moon Telecom',
'sys_type': sys_type,
'due_taka_track': due_taka_track,
'total_paid_taka': total_paid_taka,
'payment_message': payment_message,
'time_now': time_now,
'unpaid_taka': unpaid_taka,
'payment_message': payment_message,
'remain_taka': remain_taka,
'sum_cost_taka': sum_cost_taka,
'remain_msg': remain_msg}
html_string = render_to_string('shop/pdf_invoice.html', context)
html = HTML(string=html_string)
result = html.write_pdf()
response = HttpResponse(content_type='application/pdf;')
response['Content-Disposition'] = 'inline; filename=invoice'+sys_type+'.pdf'
response['Content-Transfer-Encoding'] = 'UTF-8'
with tempfile.NamedTemporaryFile(delete=True) as output:
output.write(result)
output.flush()
output = open(output.name, 'rb')
response.write(output.read())
return response
This is my HTML file. This file I am convering HTML to PDF
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Moon Telecom</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://fonts.maateen.me/kalpurush/font.css" rel="stylesheet">
<style>
p,
td,
tr {
font-size: 10px;
line-height: 12px;
}
body {
font-family: 'Kalpurush', Arial, sans-serif !important;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="site_title" style="text-align:center; margin:0 auto">
<p style="font-size:15px">মুন টেলিকম</p>
<div class="invoice_info_one" style="width:100%; text-align:center">
<p>সকল প্রকার মোবাইল সেট, সীম কার্ড, মেমোরী কার্ড, MP-3, সোলার চার্জার, সোলার ফ্যান, মোবাইল ফোনের ব্যাটারী,
চার্জার, ক্যাচিং,কাভার,হেডফোন, রেবন, ডিসপ্লে এবং ইলেট্রিক মালামাল বিক্রেতা</p>
</div>
<div class="invoice_location">
<p>জাহাঙ্গীর সুপার মার্কেট, ব্রীজ রোড, ফুলহাতা বাজার, মোডেলগঞ্জ।</p>
</div>
<div class="invoice_contact">
<p>01717-051200(সুকান্ত) 01828-163858(দোকান)</p>
<p>
<b>Email:</b> moontelecom2008#gmail.com</p>
</div>
<hr>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="customer_info">
{% if customers.customer_name %}
<p style="font-size:15px">Customer Name:
<b> {{customers.customer_name}}</b>
<span style="color:red">{{customers.customer_first_due_info}}</span>
</p>
{% else %}
<p> Name: দেওয়া হয়নি</p> {% endif %}
<p style="font-size:14px">Phone Number: {% if customers.customer_mobile_no %} {{customers.customer_mobile_no}} {% else %} No Mobile
Number {% endif %}
</p>
<p style="font-size:14px">Purchase Time: {{customers.customer_sell_date}}</p>
<p style="font-size:14px">invoice id:
<b>{{customers.customer_uid}}</b>
</p>
<p>{{customers.product_warrenty}}</p>
</div>
</div>
</div>
</div>
<div class="customer_product_and_paid_info">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="">
<table class="table table-bordered">
<thead>
<tr>
<th>Product Name</th>
<th colspan="">Price</th>
<th>ID or IME</th>
<th>Warrenty</th>
<th>QN</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>{{customers.customer_product_name}}</b>
</td>
<td>
<b>{{customers.customer_price}}</b> TK
<i>{% if customers.customer_discount_taka %} Discount added TK: {{customers.customer_discount_taka}}
TK {% else %} {% endif %}</i>
</td>
<td>{{customers.customer_product_id}}</td>
<td>
{% if customers.customer_product_warrenty %} {{customers.customer_product_warrenty}} Months {% else %} No {% endif %}
</td>
<td>{{customers.customer_product_quantity}}</td>
</tr>
<th>
<hr> First Time Payment</th>
<th>
<hr> {{customers.customer_first_time_payment}} TK
<span style="color:red">{{customers.customer_first_due_info}}</span>
</th>
<td>
<hr> {{customers.customer_sell_date}}
</td>
{% if due_taka_track %}
<thead>
<tr>
<th>SL</th>
<th>Taka</th>
<th>Paid Date</th>
<td>Due Info</td>
</tr>
</thead>
<tbody>
<hr> {% for track in due_taka_track %}
<tr>
<td>{{forloop.counter}}</td>
<td>
<i>{{track.customer_due}}</i> TK</td>
<td>{{track.customer_due_date}}</td>
<td>{{track.customer_due_info}}</td>
</tr>
{% endfor %}
</tbody>
{% else %} {% endif %} {% if sum_cost_taka %}
<tr>
<td>Total Due Complete </td>
<th>{{sum_cost_taka}} TK</th>
</tr>
{% else %} {% endif %}
<tr>
<td>
<b>Total Paid</b>
</td>
<th>
{% if payment_message %}
{{customers.customer_due_taka_info}} TK
<span style="color:red">{{payment_message}}</span>
<br>
<button type="button" class="btn btn-danger">{{remain_msg}} {{remain_taka}} TK</button>
{%else %}
{{customers.customer_due_taka_info}} TK
<button type="button" class="btn btn-success">Payment Completed</button>
{% endif %}
</th>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="customer_notifications">
<div class="container">
<div class="row">
<div class="col-lg-6">
{% if customers.customer_conditions %}
<div class="warning">
<p style="font-size:8px; width:500px;line-height:15px;">
<i>{{customers.customer_product_name}} {{customers.customer_conditions}}</i>
</p>
</div>
{% else %} {% endif %}
</div>
</div>
</div>
</div>
<div class="footer" style="display:block">
<div class="footer_info">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="footer_info">
<p>Print date: {{time_now}}</p>
<p>
<b>বিঃদ্রঃ ডেলিভারির সময় মাল বুঝিয়া নিবেন। পরে কোন আপত্তী গ্রহনযোগ্য নয়</b>
</p>
<p>বিক্রিত মাল ফেরত নেওয়া হয় না</p>
</div>
<div class="copy_right">
{% if site_credit %}
<p>{{site_credit}}</p>
{% else %}
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
</body>

Categories

Resources