我有一个Django项目,它有一个联系我们的表单。我想改变样式的错误,如“此字段是必需的”从UL风格引导警报风格。请帮帮我...我只能改变错误的信息,但我也想改变那些错误的风格。
sg2wtvxw1#
好吧,我找到一个方法在forms.py:
from django.forms.utils import ErrorList class Bootstrap(ErrorList): def __str__(self): if not self: return '' return ''.join([f'<div class="alert alert-danger" role="alert">{error}</div>' for error in self])
在views.py中:
MyForm(request.POST, error_class=BootstrapErrorList)
im9ewurl2#
你可以自定义django**ModelForm**的错误,风格如下.
ModelForm
class ProductForm(forms.ModelForm): class Meta: model = Products fields = '__all__' widgets = { 'category': forms.Select(attrs={'class': 'form-select'}), 'name': forms.TextInput(attrs={'class': 'form-control'}), 'price': forms.NumberInput(attrs={'class': 'form-control'}), } error_messages = { 'category':{'required':'Select category'}, 'name':{'required':'Enter product name'}, }
def HomePageView(request): form = ProductForm() if request.method == 'POST': form = ProductForm(request.POST) if form.is_valid(): return redirect('/home/') context = {'form': form} return render(request, 'index.html', context)
<div class="container position-absolute top-0 end-0 mt-5"> <div class="row "> <div class="col-lg-5 p-3 border"> <form action="" method="POST" novalidate> {% csrf_token %} {% for i in form %} <div class="mb-3"> <label class="form-label">{{i.label_tag}}</label> {{i}} <span class="text-danger">{{i.errors|striptags}}</span> </div> {% endfor %} <button class="btn btn-primary" type="submit">Submit</button> </form> </div> </div> </div>
2条答案
按热度按时间sg2wtvxw1#
好吧,我找到一个方法
在forms.py:
在views.py中:
im9ewurl2#
你可以自定义django**
ModelForm
**的错误,风格如下.form.py
views.py
html
浏览器输出