Django / Bootstrap формы - Размер ввода - Python
Я изучаю Django вместе с Bootstrap (5.1.3), и я хотел бы сохранить мой код как можно более простым для будущих обновлений. Поэтому я выбрал общие представления в Django (Create/Detail/Edit...). Это работает отлично, все функции теперь работают без проблем.
С чем я борюсь, так это с макетом моих форм Edit / Create. Я не могу найти способ увеличить размер полей ввода.
У меня есть следующий код для моей модели:
class customer(models.Model):
created_date = models.DateTimeField(auto_now_add = True, editable = False, verbose_name = u"Créé le")
modified_date = models.DateTimeField(auto_now = True, editable = False, verbose_name = u"Modifié le")
fk_referrer = models.ForeignKey('customer', on_delete=models.CASCADE, verbose_name='Parrain', blank = True, null=True)
surname = models.CharField('Prénom', max_length=200)
lastname = models.CharField('Nom', max_length=200)
phonenumber = PhoneNumberField('Téléphone', blank = True, null = True)
email = models.EmailField('Email',max_length=100, blank = True, null = True)
fk_interest = models.ManyToManyField(interests, verbose_name='Interêts', blank=True)
comments = models.TextField('Commentaires', max_length=2000, blank=True, null = True)
def __str__(self):
return (self.surname + " " + self.lastname)
Я создал общее представление:
class CustomerEditView(UpdateView):
model = customer
fields = "__all__"
template_name = 'client/edition.html'
success_url = '/client/'
И добавил форму в шаблон edition.html:
<form method="POST" enctype="multipart/form-data">
<!-- Security token -->
{% csrf_token %}
<!-- Using the formset -->
<table>
{{ form.as_table }}
</table>
<input type="submit" value="{% if object %}Mettre à jour{% else %}Créer{% endif %}">
</form>
Вот как выглядит вывод:
Поля ввода текста недостаточно большие. Я хотел бы, по крайней мере, заполнить таблицу (показанную с границей). Думаю, я смогу решить эту проблему с помощью Forms и переопределения всех моих представлений, чтобы сделать их более конкретными (не общими). Но есть ли способ обновить стили представления / bootstrap так, чтобы ширина полей ввода использовала все доступное пространство? Может быть, использовать форму поверх общего представления?
Большое спасибо за любую помощь.
Если я правильно вас понял, это CSS-вещь. Не будет ли быстрым решением просто установить width:100%
на все входы?
Я использую crispy forms с Django. Они работают вместе с bootstrap и очень просты в использовании. Пожалуйста, посмотрите этот пример. https://simpleisbetterthancomplex.com/tutorial/2018/11/28/advanced-form-rendering-with-django-crispy-forms.html