Сообщение проверки пользовательского поля Django - PullRequest
0 голосов
/ 11 марта 2020

У меня есть поле 'Reference_Number' как в моей форме, так и в моей модели. Не следует сохранять форму, если это поле пустое, и если оно пустое, рядом с полем должно появиться сообщение об ошибке клиента.

У меня настроено это в данный момент, как вы видите ниже, но все же я просто получите django стандартное сообщение «Пожалуйста, заполните это поле». Какие изменения мне нужно сделать, чтобы показать сообщение об ошибке, которое я определил в forms.py?

models.py

class PackingList(models.Model):
      Reference_Number = models.CharField(max_length=100, null=True)
      ....

forms.py

class PackingListForm(forms.ModelForm):
    class Meta:
        model = PackingList
        fields = ['Reference_Number']

        def Clean_Reference_Value(self):
            Ref = self.cleaned_data.get('Reference_Number')
            if not Ref:
                raise forms.ValidationError('This field is required') #this is the message that should show

packlist. html (шаблон)

...

<td colspan="1">Reference: {{ form.Reference_Number }} {% for error in form.Reference_Number.errors %}<p>{{ error }}</p> {% endfor %}</td>

...

views.py

def PackingListView(request):
    if request.method == "POST":
        form = PackingListForm(request.POST)
        if form.is_valid():
            if 'preview' in request.POST:
                request.session['data'] = form.cleaned_data
                return redirect('myview')

            elif 'save' in request.POST:
                form.save()
                messages.success(request, "Success: Packing List Has Been Created!")
                return redirect('HomeView')

    else:
        form = PackingListForm()
        return render(request, 'packlist.html', {'form': form})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...