Python 搜索结果不是';t仅在命令行中打印在网站中
所以我在我的网站上添加了一个新页面来搜索“人物”项目。问题是,每当我搜索一个项目时,结果会显示在我的命令行中,但不会打印在网站上,唯一的是标签,但结果为空,如下所示: 性别: 年龄: 眼睛颜色: 电影: 因此,查询结果不会打印出来。为什么会这样 我的看法是:Python 搜索结果不是';t仅在命令行中打印在网站中,python,html,django,Python,Html,Django,所以我在我的网站上添加了一个新页面来搜索“人物”项目。问题是,每当我搜索一个项目时,结果会显示在我的命令行中,但不会打印在网站上,唯一的是标签,但结果为空,如下所示: 性别: 年龄: 眼睛颜色: 电影: 因此,查询结果不会打印出来。为什么会这样 我的看法是: from django.shortcuts import render, HttpResponse from django.views.generic import ListView import requests def people
from django.shortcuts import render, HttpResponse
from django.views.generic import ListView
import requests
def people(request):
people = []
if request.method == 'POST':
people_url = 'https://ghibliapi.herokuapp.com/people/'
search_params = {
'people' : 'name',
'people' : 'gender',
'people' : 'age',
'people' : 'eye_color',
'q' : request.POST['search']
}
r = requests.get(people_url, params=search_params)
results = r.json()
if len(results):
for result in results:
people_data = {
'Name' : result['name'],
'Gender': result['gender'],
'Age' : result['age'],
'Eye_Color' : result['eye_color']
}
people.append(people_data)
else:
message = print("No results found")
print(people)
context = {
'people' : people
}
return render(request,'core/people.html', context)
这是html:
{% load static %}
<!DOCTYPE html>
<html>
<head>
<title>Ghibli Studio | People</title>
<link rel="stylesheet" href="{% static 'core/people.css' %}">
</head>
<body>
<div class=" header">
</div>
<div class="wrap">
<form action='/people' method="POST">
{% csrf_token %}
<div class="search">
<input type="text" name="search" class="searchTerm" placeholder="Type character name, gender, age, or eye color">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<button type="submit" class="searchButton">
<i class="fa fa-search" style="font-size:24px"></i>
</button>
</div>
</form>
</div>
{% if people %}
{% for p in people %}
<div>
<ul class="result">
<style>
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@300&display=swap');
</style>
<h4>{{people.Name}}</h4>
<h5 style="color:lightslategray;">
Gender: {{people.Gender}} <br>
Age: {{people.Age}}
<br>Eye color: {{people.Eye_color}}
<br>Film: {{people.Film}}
</h5>
</ul>
{% endfor %}
{% endif %}
</div>
</body>
</html>
{%load static%}
吉卜力工作室|人
{%csrf_令牌%}
{%if people%}
{p在人员百分比中的百分比}
@导入url('https://fonts.googleapis.com/css2?family=Dosis:wght@300&display=swap');
{{people.Name}
性别:{{people.Gender}}
年龄:{{people.Age}
眼睛颜色:{{人。眼睛颜色}
电影:{{人。电影}
{%endfor%}
{%endif%}
模板中个人的名字是p
,而不是人
,因此:
{% for p in people %}
<div>
<ul class="result">
<style>
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@300&display=swap');
</style>
<h4>{{ p.Name }}</h4>
<h5 style="color:lightslategray;">
Gender: {{ p.Gender }}<br>
Age: {{ p.Age }}
<br>Eye color: {{ p.Eye_color }}
<br>Film: {{ p.Film }}
</h5>
</ul>
</div>
{% endfor %}
{%p代表人物%}
@导入url('https://fonts.googleapis.com/css2?family=Dosis:wght@300&display=swap');
{{p.Name}}
性别:{p.性别}}
年龄:{p.年龄}
眼睛颜色:{p.Eye\u color}
电影:{p.电影}
{%endfor%}
除了“眼睛颜色”功能外,这也可以使用,您知道原因吗?@user12763792:那么该字段可能不是eye\u color
,而是eye\u color
,EyeColor
或其他内容。请注意,PEP-8建议在字段中使用snake_case
,而不是PerlCase
(因此都是小写,用下划线分隔)。