У объекта 'NoneType' нет атрибута 'strip' - CS50W Wiki
Я получаю эту ошибку при попытке создать функцию поиска в Django.
Вот здесь у меня возникают проблемы: Если запрос не совпадает с названием статьи энциклопедии, то пользователь должен быть переведен на страницу результатов поиска, которая отображает список всех статей энциклопедии, в которых запрос является подстрокой. Например, если поисковый запрос был ytho, то в результатах поиска должен появиться Python.
This is the view:
def search(request): if request.method == 'POST': search_title = request.POST['q']
content = converter(search_title)
if search_title is not None:
return render(request, "encyclopedia/entry.html", {
"entry": content,
"entryTitle": search_title
})
else:
entries = util.list_entries()
search_pages = []
for entry in entries:
if search_title in entries:
search_pages.append(entry)
return render(request, "encyclopedia/search.html",{
"entries": search_pages
})
And the HTML:
<form action="{% url 'search' %}" method="POST">
{% csrf_token %}
<input class="search" type="text" name="q" placeholder="Search Encyclopedia">
</form>
Traceback:
Traceback (последний последний вызов): File "C:\Users\anshi.virtualenvs\storefront-bp3LZ8Cr\lib\site-packages\django\core\handlers\exception.py", line 55, in inner response = get_response(request) Файл "C:\Users\anshi.virtualenvs\storefront-bp3LZ8Cr\lib\site-packages\django\core\handlers\base.py", строка 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) Файл "D:\Python\Py Projects\CS50 attempt 00\wiki\encyclopedia\views.py", строка 70, в search content = converter(search_title) Файл "D:\Python\Py Projects\CS50 attempt 00\wiki\encyclopedia\views.py", строка 19, в converter html = Markdowner.convert(content) Файл "C:\Users\anshi.virtualenvs\storefront-bp3LZ8Cr\lib\site-packages\markdown\core.py", строка 248, in convert if not source.strip(): AttributeError: объект 'NoneType' не имеет атрибута 'strip' [21/Dec/2022 02:09:18] "POST /search/ HTTP/1.1" 500 72472
Traceback показывает, что ошибка произошла во время content = converter(search_title)
.
Значит, либо converter
имеет ошибку, либо search_title = request.POST['q']
не является допустимым search_title. (Нет? Нулевая строка? )
Попробуйте распечатать/отладить search_title
или изучите более подробно, что именно отправляется клиентом.
BTW, пожалуйста, сделайте так, чтобы трассировки после вырезания/вставки форматировались читабельно!