Как перевести на другой язык динамические формы
С помощью gettext_lazy() все переводится в шаблонах. Как перевести именно в полях delivery and payment DELIVERY_CHOISES = ( ('self', 'Самовывоз'), ('dhl or dpd', 'Доставка по Польше +25 Zl.'), ('europe', 'Доставка по Европе +120 Zl.') ) PAYMENT = ( ("cash", 'Наличные'), ('Cash on delivery', 'Наложеный платеж'), ('Visa, Mastercard', 'Visa, Mastercard')
from web.models import Product
STATUS_CHOICES = (
("Started", "Started"),
("Finished", "Finished"),)
DELIVERY_CHOISES = (
('self', 'Самовывоз'),
('dhl or dpd', 'Доставка по Польше +25 Zl.'),
('europe', 'Доставка по Европе +120 Zl.')
)
PAYMENT = (
("cash", 'Наличные'),
('Cash on delivery', 'Наложеный платеж'),
('Visa, Mastercard', 'Visa, Mastercard')
)
class Order(models.Model):
status = models.CharField(max_length=100, choices=STATUS_CHOICES, default="Started")
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
phone = models.CharField(max_length=20)
email = models.EmailField()
postal_code = models.CharField(max_length=20)
address = models.CharField(max_length=250)
delivery = models.CharField(max_length=100, choices=DELIVERY_CHOISES)
payment = models.CharField(max_length=100, choices=PAYMENT)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
nip = models.CharField(max_length=10, blank=True)
postal_code2 = models.CharField(max_length=20, blank=True)
street = models.CharField(max_length=50, blank=True)
city = models.CharField(max_length=50, blank=True)
privacy = models.BooleanField(default=True)
class Meta:
ordering = ('-created',)
verbose_name = 'Заказ'
verbose_name_plural = 'Заказы'
def __str__(self):
return 'Order {}'.format(self.id)
class OrderItem(models.Model):
order = models.ForeignKey(Order, related_name='items', on_delete=models.CASCADE)
product = models.ForeignKey(Product, related_name='order_items', on_delete=models.CASCADE)
number = models.CharField(max_length=30)
quantity = models.PositiveIntegerField(default=1)
total_price = models.DecimalField(max_digits=10, decimal_places=2)
def __str__(self):
return '{}'.format(self.id)
from django import forms
from .models import Order
class OrderCreateForm(forms.ModelForm):
class Meta:
model = Order
fields = ['first_name', 'last_name', 'phone', 'email', 'postal_code',
'address', 'delivery', 'payment','postal_code2', 'nip',
'street', 'city',
'privacy']