Hello Everyone.
Creating form from model. Faced with the problem that I get a raw form to which I can't add css styles to every FormModel field (div blocks with a class). Question: Are there any tools that allow you to style a template based on ModelForm? (I have css and the desired template-html)
model.py
class Product(models.Model):
name = models.CharField(max_length=40)
def __str__(self):
return self.name
class Variety(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
name = models.CharField(max_length=40)
def __str__(self):
return self.name
class Category(models.Model):
name = models.CharField(max_length=40)
def __str__(self):
return self.name
class Tender(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
variety = models.ForeignKey(Variety, on_delete=models.CASCADE)
price = models.DecimalField(max_digits=4, decimal_places=2,)
delivery_date = models.DateField(default=date.today)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
delivery_basis = models.CharField(max_length=3, choices=[('CPT', 'CPT')])
payments = models.CharField(max_length=20, choices=[('Наличный расчет', 'Наличный расчет')])
comment = models.TextField(max_length=4000, blank=True, default='Комментарий отсутствует.')
def __str__(self):
return self.product
forms.py
class AddTenderForm(forms.ModelForm):
class Meta:
model = Tender
fields = '__all__'
views.py
def index(request):
form = AddTenderForm()
if request.method == 'POST':
form = AddTenderForm(request.POST)
if form.is_valid():
form.save()
return redirect('add')
return render(request, 'fmtender/form_for_adding_a_tender.html', {'form': form})
form_for_adding_a_tender.html
<form class="needs-validation"
id="AddTender"
data-variety-url="{% url 'ajax_load_variety' %}"
novalidate>
{% csrf_token %}
{{ form.as_p }}
<button class="w-100 btn btn-primary btn-lg"
type="submit">Continue to checkout</button>
</form>