Ошибка типа Django 3.0.4: ошибка Typer при запуске сервера - PullRequest
0 голосов
/ 21 апреля 2020

Я учусь Django от умного программиста и столкнулся с проблемой.

Я пытаюсь запустить **. / Manage.py runserver, и я сталкиваюсь с ошибкой типа, как указано в приведенной ниже ссылке

Я предполагаю, что, похоже, проблема в строке: return render(request, 'movies/movies_stuff.html' , stuff_for_frontend)

Ошибка типа - Снимок экрана

views.py_

from django.shortcuts import render
from .models import movies

# Create your views here.
def Home_page(request):
user_query = str(request.GET.get('query' , ''))
search_result = movies.objects.filter(name__icontains=user_query)
stuff_for_frontend={'Search_result :', search_result}
return render(request, 'movies/movies_stuff.html' , stuff_for_frontend)

urls.py

from django.urls import include, path
from .views import Home_page

urlpatterns= [
path('', Home_page, name='Home _page')
]

Шаблоны -> фильмы -> movies_stuff. html

<html>
    <body>
        <form action = "" name="search"  
            <input type= "text" name="query" value="{{request.GET.query}}"
            <input type =  "submit" value="Search" />
        {%for movies in search_result%}
        <p>{{movies.name}}</p>
        {% endfor %} 
    </body>
</html>

1 Ответ

0 голосов
/ 21 апреля 2020

Проблема здесь, как говорится, в типовой ошибке. Это происходит потому, что для метода рендеринга требуется словарь, а вы вместо этого отправляете набор. Исправьте следующее

stuff_for_frontend={'Search_result :', search_result} // this will become a set

к этому

stuff_for_frontend={'Search_result' : search_result} // now a dictionary

Ошибка возникает при попытке доступа с использованием ключей на съемочной площадке И в шаблоне попробуйте исправить форму, так как я подозреваю, что она неполная.

Надеюсь, это поможет! Удачного кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...