Я работаю над проектом с использованием Python (3.6) и Django (2.1), в котором мне нужно реализовать функцию поиска.У меня есть два поля для поиска what
и where
.Пользователь может ввести несколько значений для обоих этих полей и разделить их на ,
, затем мне нужно проверить длину обоих полей после разделения на ,
.Когда поле пустое, его длина должна быть 0
, но в моем случае это показывает, что длина равна 1
, даже если поле пустое.
Вот мой код: From forms.py:
class FetchDataForm(forms.Form):
what = forms.CharField(max_length=256, required=True)
where = forms.CharField(max_length=256, required=False)
class Meta:
fields = ('what', 'where')
Из шаблонов / search.html:
<form method="POST" action="{% url 'udata:fetch-data' %}">
{% csrf_token %}
<div class="form-row">
<div class="form-group col-md-5">
<label for="inputEmail4" style="font-size: x-large">What:</label>
<br><span class="help"
style="font-size: smaller; padding-top: 0%;"> keywords, or company</span>
{% if dd.what %}
<input type="text" name="what" value="{{ dd.what }}" class="form-control" id="inputEmail4">
{% else %}
<input type="text" name="what" class="form-control" id="inputEmail4">
{% endif %}
</div>
<div class="form-group col-md-5">
<label for="inputEmail4" style="font-size: x-large">Where:</label>
<br><span class="help"
style="font-size: smaller; padding-top: 0%;">City, State or Zip code</span>
{% if dd.where %}
<input type="text" name="where" value="{{ dd.where }}" class="form-control"
id="inputPassword4">
{% else %}
<input type="text" name="where" value="" class="form-control" id="inputPassword4">
{% endif %}
</div>
<label for="inputPassword4"> </label>
<br><span class="help" style="font-size: smaller;"> </span>
<div class="form-group col-md-2">
<button type="submit" class="btn btn-primary btn-lg" style="margin-top:10%">Search</button>
</div>
</div>
</form>
И Из views.py:
what = form.cleaned_data['what']
where = form.cleaned_data['where']
get_len_what = len(what.split(','))
get_len_where = len(where.split(','))
print('What len is {}'.format(get_len_what))
print('where len is {}'.format(get_len_where))
Распечатывает длину как 1
, даже когда поля пусты.Что тут не так?