У объекта '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, пожалуйста, сделайте так, чтобы трассировки после вырезания/вставки форматировались читабельно!

Вернуться на верх