from django import forms from django.utils.translation import gettext_lazy as _ from .models import ShippingAddress, Order class ShippingAddressForm(forms.ModelForm): class Meta: model = ShippingAddress fields = ['first_name', 'last_name', 'email', 'address', 'city', 'zip', 'country'] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for field in self.fields.values(): field.widget.attrs['class'] = 'form-control' class PaymentMethodForm(forms.Form): payment_method = forms.ChoiceField( choices=Order.PAYMENT_METHODS, widget=forms.HiddenInput(), required=True, error_messages={ 'required': _('Please select a payment method.') } )