Python /recomm/uuuu init_uuuu()处的TypeError获取了意外的关键字参数';电影';
我在从函数中获取电影时出错,该函数显示电影出现意外错误 关键词参数电影Python /recomm/uuuu init_uuuu()处的TypeError获取了意外的关键字参数';电影';,python,html,django,Python,Html,Django,我在从函数中获取电影时出错,该函数显示电影出现意外错误 关键词参数电影 File "E:\FinalYearProject\movierecommendationsystem\myapps\views.py" in recomm 106. return HttpResponse('recommend.html', movie=movie, r=r, t='s') Exception Type: TypeError at /recomm/ Exception Val
File "E:\FinalYearProject\movierecommendationsystem\myapps\views.py" in recomm
106. return HttpResponse('recommend.html', movie=movie, r=r, t='s')
Exception Type: TypeError at /recomm/
Exception Value: __init__() got an unexpected keyword argument 'movie'
def create_sim():
data = pd.read_csv('./datasets/movies.csv')
cv = CountVectorizer()
count_matrix = cv.fit_transform(data['combined_features'])
sim = cosine_similarity(count_matrix)
return data, sim
def rcmd(m):
m = m.lower()
try:
data.head()
sim.shape
except:
data, sim = create_sim()
if m not in data['title'].unique():
return('Not found.')
else:
i = data.loc[data['title'] == m].index[0]
lst = list(enumerate(sim[i]))
lst = sorted(lst, key=lambda x: x[1], reverse=True)
lst = lst[1:11]
l = []
for i in range(len(lst)):
a = lst[i][0]
l.append(data['title'][a])
return l
我的recomment.html是
{% if t == 's' %}
<div class="shadow p-3 mb-5 bg-white rounded">
<h3 style="color:rgb(0, 102, 255)">Sorry! This movie is not in our database.</h3>
<h3 style="color:rgb(0, 102, 255)">Please check if you spelled it correct.</h3>
<h3 style="color:rgb(0, 102, 255)">Or try with another movie.</h3>
</div>
{% else %}
<div class="shadow p-3 mb-5 bg-white rounded">
<h1 style="color:rgb(0, 102, 255)">"{{movie}}" is a great choice.</h1>
<h3 style="color:rgb(0, 102, 255)">Here are some more like this</h3>
</div>
<ul class="list-group list-group-flush">
{% for m in r %}
<li class="list-group-item" style="color:rgb(0, 179, 0)"><strong>{{m}}</strong></li>
{% endfor %}
</ul>
{% endif %}
{%if t=='s%}
很抱歉这部电影不在我们的数据库中。
请检查你是否拼写正确。
或者试试看另一部电影。
{%else%}
“{{movie}}}”是一个很好的选择。
这里还有一些像这样的
{r%中m的%r}
- {{m}
{%endfor%}
{%endif%}
当我搜索[任何电影]如“阿凡达”时,它总是显示['anymovies']=阿凡达是一个很好的选择,并且显示未从def rcmd功能中找到
HttpResponse
不会自动呈现模板。
您将需要render()
编辑:修复了那些未绑定的变量并简化了代码
from django.shortcuts import render
def recomm(request):
movie = request.GET.get('movie')
r = t = None
if movie:
r = recommendation(movie)
t = ('s' if isinstance(r, list) else 't')
return render(request, 'recommend.html', {
'movie': movie,
'r': r,
't': t,
})
我在django中使用它,而不是在flask中如何渲染它,即使使用render,它也会显示错误为什么您的标记中有flask?添加了等效的django语法。感谢您解决了此错误,但它不会显示任何结果data@bishrut您必须添加完整的recommend.html模板来帮助调试该模板。