Я хотел бы отобразить форму адреса для доставки и выставления счета на address.html со следующими полями ввода ниже.Цель состоит в том, чтобы опубликовать адрес пользователя (доставка и выставление счетов) в админ / адреса и связать его с их платежным профилем.
'address_line_1', 'address_line_2', 'city', 'country', 'state', 'postal_code',
К вашему сведению: у меня установлен Аллах и установлениспользовал его для создания страниц регистрации, выхода и входа.Если есть более интуитивный способ выполнить эту задачу с помощью Аллаута, пожалуйста, поделитесь!Мне просто нужно, чтобы это работало!Заранее спасибо.
Я создал форм.ModelForm в addressbook / forms.py
from django import forms
from .models import Address
class AddressForm(forms.ModelForm):
class Meta:
model = Address
fields = [
# 'billing_profile',
# 'address_type',
'address_line_1',
'address_line_2',
'city',
'country',
'state',
'postal_code',
]
, а в addressbook / models.py я создал модель с именем Address
from django.db import models
from billing.models import BillingProfile
ADDRESS_TYPES = (
('billing', 'Billing'),
('shipping', 'Shipping'),
)
class Address(models.Model):
billing_profile = models.ForeignKey(BillingProfile, on_delete=models.CASCADE)
address_type = models.CharField(max_length=120, choices=ADDRESS_TYPES)
address_line_1 = models.CharField(max_length=120, null=True, blank=True)
address_line_2 = models.CharField(max_length=120, null=True, blank=True)
city = models.CharField(max_length=120)
country = models.CharField(max_length=120, default='United States')
state = models.CharField(max_length=120)
postal_code = models.CharField(max_length=120)
def __str__(self):
return str(self.billing_profile)
Я создал представление для address.html в ecommerce / views.py
@login_required
def shipping_info(request):
address_form = AddressForm()
billing_address_form = AddressForm()
# order_obj = None
billing_profile, billing_profile_created = BillingProfile.objects.new_or_get(request)
template = "carts/addresses.html",
context = {
# "object": order_obj,
"billing_profile": billing_profile,
"address_form": address_form,
"billing_address_form": billing_address_form,
}
return render(request, template, context)
, как будто все вышеперечисленное было недостаточно запутанным, я создал address.html в электронной торговле/templates/carts/addresses.html.URL работает ... но я не знаю, какой должна быть форма действия.