我正在向聪明的程序员学习Django,并且遇到了一个问题。
我正在尝试**./manage.py e.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')
]Templates-->movies-->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>
发布于 2020-04-21 04:24:51
这里的问题是,正如它所说的,这是一个类型错误。之所以发生这种情况,是因为呈现方法需要一个字典,并且您要发送一个集instead.Correct,如下所示
stuff_for_frontend={'Search_result :', search_result} // this will become a set到这个
stuff_for_frontend={'Search_result' : search_result} // now a dictionary当尝试使用set上的键进行访问时,会发生错误。在模板中,尝试更正表单,因为我怀疑它是不完整的。
希望这能帮上忙!编码愉快!
https://stackoverflow.com/questions/61335719
复制相似问题