本文整理汇总了Python中lfs.addresses.utils.AddressManagement.render方法的典型用法代码示例。如果您正苦于以下问题:Python AddressManagement.render方法的具体用法?Python AddressManagement.render怎么用?Python AddressManagement.render使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类lfs.addresses.utils.AddressManagement
的用法示例。
在下文中一共展示了AddressManagement.render方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addresses
# 需要导入模块: from lfs.addresses.utils import AddressManagement [as 别名]
# 或者: from lfs.addresses.utils.AddressManagement import render [as 别名]
def addresses(request, template_name="lfs/customer/addresses.html"):
"""
Provides a form to edit addresses in my account.
"""
customer = lfs.customer.utils.get_or_create_customer(request)
if request.method == "POST":
iam = AddressManagement(customer, customer.default_invoice_address, "invoice", request.POST)
sam = AddressManagement(customer, customer.default_shipping_address, "shipping", request.POST)
if iam.is_valid() and sam.is_valid():
iam.save()
sam.save()
customer.sync_default_to_selected_addresses(force=True)
return lfs.core.utils.MessageHttpResponseRedirect(
redirect_to=reverse("lfs_my_addresses"),
msg=_(u"Your addresses have been saved."),
)
else:
msg = _(u"An error has occured.")
else:
msg = None
iam = AddressManagement(customer, customer.default_invoice_address, "invoice")
sam = AddressManagement(customer, customer.default_shipping_address, "shipping")
return lfs.core.utils.render_to_message_response(
template_name, RequestContext(request, {
"shipping_address_inline": sam.render(request),
"invoice_address_inline": iam.render(request),
"current": "addresses"
}),
msg=msg,
)
示例2: changed_shipping_country
# 需要导入模块: from lfs.addresses.utils import AddressManagement [as 别名]
# 或者: from lfs.addresses.utils.AddressManagement import render [as 别名]
def changed_shipping_country(request):
"""
Refreshes the shipping address form, after the shipping country has been
changed.
"""
customer = lfs.customer.utils.get_or_create_customer(request)
address = customer.selected_shipping_address
country_iso = request.POST.get("shipping-country")
if address:
address.country = Country.objects.get(code=country_iso.lower())
address.save()
am = AddressManagement(address, "shipping")
result = simplejson.dumps({"shipping_address": am.render(request, country_iso)})
return HttpResponse(result)
示例3: changed_shipping_country
# 需要导入模块: from lfs.addresses.utils import AddressManagement [as 别名]
# 或者: from lfs.addresses.utils.AddressManagement import render [as 别名]
def changed_shipping_country(request):
"""
Refreshes the shipping address form, after the shipping country has been
changed.
"""
customer = lfs.customer.utils.get_or_create_customer(request)
address = customer.selected_shipping_address
country_iso = request.POST.get("shipping-country")
if address:
address.country = Country.objects.get(code=country_iso.lower())
address.save()
customer.sync_selected_to_default_shipping_address()
am = AddressManagement(customer, address, "shipping")
result = json.dumps({
"shipping_address": am.render(request, country_iso),
})
return HttpResponse(result, content_type='application/json')
示例4: changed_invoice_country
# 需要导入模块: from lfs.addresses.utils import AddressManagement [as 别名]
# 或者: from lfs.addresses.utils.AddressManagement import render [as 别名]
def changed_invoice_country(request):
"""
Refreshes the invoice address form, after the invoice country has been
changed.
"""
customer = lfs.customer.utils.get_or_create_customer(request)
address = customer.selected_invoice_address
country_iso = request.POST.get("invoice-country")
if address and country_iso:
address.country = Country.objects.get(code=country_iso.lower())
address.save()
customer.sync_selected_to_default_invoice_address()
am = AddressManagement(customer, address, "invoice")
result = simplejson.dumps({
"invoice_address": am.render(request, country_iso),
})
return HttpResponse(result, mimetype='application/json')
示例5: one_page_checkout
# 需要导入模块: from lfs.addresses.utils import AddressManagement [as 别名]
# 或者: from lfs.addresses.utils.AddressManagement import render [as 别名]
def one_page_checkout(request, template_name="lfs/checkout/one_page_checkout.html"):
"""
One page checkout form.
"""
cart = lfs.cart.utils.get_cart(request)
if cart is None:
return HttpResponseRedirect(reverse('lfs_cart'))
shop = lfs.core.utils.get_default_shop(request)
if request.user.is_anonymous() and shop.checkout_type == CHECKOUT_TYPE_AUTH:
return HttpResponseRedirect(reverse("lfs_checkout_login"))
customer = lfs.customer.utils.get_or_create_customer(request)
invoice_address = customer.selected_invoice_address
shipping_address = customer.selected_shipping_address
bank_account = customer.selected_bank_account
credit_card = customer.selected_credit_card
if request.method == "POST":
checkout_form = OnePageCheckoutForm(data=request.POST)
iam = AddressManagement(customer, invoice_address, "invoice", request.POST)
sam = AddressManagement(customer, shipping_address, "shipping", request.POST)
bank_account_form = BankAccountForm(instance=bank_account, data=request.POST)
credit_card_form = CreditCardForm(instance=credit_card, data=request.POST)
if shop.confirm_toc and ("confirm_toc" not in request.POST):
toc = False
if checkout_form.errors is None:
checkout_form.errors = {}
checkout_form.errors["confirm_toc"] = _(u"Please confirm our terms and conditions")
else:
toc = True
if checkout_form.is_valid() and bank_account_form.is_valid() and iam.is_valid() and sam.is_valid() and toc:
# Save addresses
iam.save()
# If there the shipping address is not given, the invoice address
# is copied.
if request.POST.get("no_shipping", "") == "":
sam.save()
else:
if customer.selected_shipping_address:
customer.selected_shipping_address.delete()
shipping_address = deepcopy(customer.selected_invoice_address)
shipping_address.id = None
shipping_address.save()
customer.selected_shipping_address = shipping_address
# Save payment method
customer.selected_payment_method_id = request.POST.get("payment_method")
# Save bank account
if customer.selected_payment_method_id and \
int(customer.selected_payment_method_id) == lfs.payment.settings.PM_BANK:
customer.selected_bank_account = bank_account_form.save()
# Save credit card
if customer.selected_payment_method_id and \
int(customer.selected_payment_method_id) == lfs.payment.settings.PM_CREDIT_CARD:
customer.selected_credit_card = credit_card_form.save()
customer.save()
# process the payment method
result = lfs.payment.utils.process_payment(request)
if result["accepted"]:
return HttpResponseRedirect(result.get("next_url", reverse("lfs_thank_you")))
else:
if "message" in result:
checkout_form._errors[result.get("message_location")] = result.get("message")
else:
checkout_form = OnePageCheckoutForm()
iam = AddressManagement(customer, invoice_address, "invoice")
sam = AddressManagement(customer, shipping_address, "shipping")
bank_account_form = BankAccountForm(instance=bank_account)
credit_card_form = CreditCardForm(instance=credit_card)
# Payment
try:
selected_payment_method_id = request.POST.get("payment_method")
selected_payment_method = PaymentMethod.objects.get(pk=selected_payment_method_id)
except PaymentMethod.DoesNotExist:
selected_payment_method = lfs.payment.utils.get_selected_payment_method(request)
valid_payment_methods = lfs.payment.utils.get_valid_payment_methods(request)
display_bank_account = any([pm.type == lfs.payment.settings.PM_BANK for pm in valid_payment_methods])
display_credit_card = any([pm.type == lfs.payment.settings.PM_CREDIT_CARD for pm in valid_payment_methods])
return render_to_response(template_name, RequestContext(request, {
"checkout_form": checkout_form,
"bank_account_form": bank_account_form,
"credit_card_form": credit_card_form,
"invoice_address_inline": iam.render(request),
"shipping_address_inline": sam.render(request),
"shipping_inline": shipping_inline(request),
"payment_inline": payment_inline(request, bank_account_form),
"selected_payment_method": selected_payment_method,
#.........这里部分代码省略.........
示例6: one_page_checkout
# 需要导入模块: from lfs.addresses.utils import AddressManagement [as 别名]
# 或者: from lfs.addresses.utils.AddressManagement import render [as 别名]
#.........这里部分代码省略.........
voucher = Voucher.objects.get(number=voucher_number)
except Voucher.DoesNotExist:
is_valid_voucher = False
else:
is_valid_voucher = voucher.is_effective(request, cart)[0]
else:
is_valid_voucher = True
if is_valid_voucher and checkout_form.is_valid() and bank_account_form.is_valid() and iam.is_valid() and sam.is_valid() and toc:
if CHECKOUT_NOT_REQUIRED_ADDRESS == 'shipping':
iam.save()
if request.POST.get("no_shipping", "") == "":
# If the shipping address is given then save it.
sam.save()
else:
# If the shipping address is not given, the invoice address is copied.
if customer.selected_invoice_address:
if customer.selected_shipping_address:
# it might be possible that shipping and invoice addresses are same object
if customer.selected_shipping_address.pk != customer.selected_invoice_address.pk:
customer.selected_shipping_address.delete()
shipping_address = deepcopy(customer.selected_invoice_address)
shipping_address.id = None
shipping_address.pk = None
shipping_address.save()
customer.selected_shipping_address = shipping_address
else:
sam.save()
if request.POST.get("no_invoice", "") == "":
iam.save()
else:
if customer.selected_shipping_address:
if customer.selected_invoice_address:
# it might be possible that shipping and invoice addresses are same object
if customer.selected_invoice_address.pk != customer.selected_shipping_address.pk:
customer.selected_invoice_address.delete()
invoice_address = deepcopy(customer.selected_shipping_address)
invoice_address.id = None
invoice_address.pk = None
invoice_address.save()
customer.selected_invoice_address = invoice_address
customer.sync_selected_to_default_addresses()
# Save payment method
customer.selected_payment_method_id = request.POST.get("payment_method")
# Save bank account
if customer.selected_payment_method_id and \
int(customer.selected_payment_method_id) == lfs.payment.settings.PM_BANK:
customer.selected_bank_account = bank_account_form.save()
# Save credit card
if customer.selected_payment_method_id and \
int(customer.selected_payment_method_id) == lfs.payment.settings.PM_CREDIT_CARD:
customer.selected_credit_card = credit_card_form.save()
customer.save()
# process the payment method
result = lfs.payment.utils.process_payment(request)
if result["accepted"]:
return HttpResponseRedirect(result.get("next_url", reverse("lfs_thank_you")))
else:
if "message" in result:
checkout_form._errors[result.get("message_location")] = result.get("message")
else:
checkout_form = OnePageCheckoutForm()
iam = AddressManagement(customer, invoice_address, "invoice", initial=initial_address)
sam = AddressManagement(customer, shipping_address, "shipping", initial=initial_address)
bank_account_form = BankAccountForm(instance=bank_account)
credit_card_form = CreditCardForm(instance=credit_card, prefix="credit_card")
# Payment
try:
selected_payment_method_id = request.POST.get("payment_method")
selected_payment_method = PaymentMethod.objects.get(pk=selected_payment_method_id)
except PaymentMethod.DoesNotExist:
selected_payment_method = lfs.payment.utils.get_selected_payment_method(request)
valid_payment_methods = lfs.payment.utils.get_valid_payment_methods(request)
display_bank_account = any([pm.type == lfs.payment.settings.PM_BANK for pm in valid_payment_methods])
display_credit_card = any([pm.type == lfs.payment.settings.PM_CREDIT_CARD for pm in valid_payment_methods])
return render(request, template_name, {
"checkout_form": checkout_form,
"bank_account_form": bank_account_form,
"credit_card_form": credit_card_form,
"invoice_address_inline": iam.render(request),
"shipping_address_inline": sam.render(request),
"shipping_inline": shipping_inline(request),
"payment_inline": payment_inline(request, bank_account_form),
"selected_payment_method": selected_payment_method,
"display_bank_account": display_bank_account,
"display_credit_card": display_credit_card,
"voucher_number": lfs.voucher.utils.get_current_voucher_number(request),
"cart_inline": cart_inline(request),
"settings": settings,
})