我要用户输入一个字符串,并为他们提供一些选项供您选择。这些选项存储为数据框,我使用to_html()函数对其进行渲染。但是,我找不到有关如何编辑to_html()调用的任何信息,以允许我进行编辑,以便表可以具有可选行。
其他所有东西都很可爱!
这是views.py中的相关行
def result(request):
search_term=request.POST.get('q','')
search_term=str(search_term)
lkp = run_lkp(SearchString)
result = []
for l in lkp:
result.append(dfCorpus.ix[l])
df= result[0]
html_df=df.to_html(index=False)
return render(request, 'result.html', {'html_df': html_df,'post_output': request.POST.get('q','')})
这是result.html;
<html>
<h1><strong>lookup</strong></h1>
<head>
<title>select right one</title>
</head>
<body>
<h3>You searched for:</h3> {{ post_output }}
<h3>Your results:</h3> {{ html_df|safe }}
</body>
</html>
我认为这是可能的,但是我不知道怎么做!
谢谢!
答案 0 :(得分:1)
您可以使用
html_df=[v for k, v in df.T.to_dict().items()])
然后,您可以遍历模板中的记录并使用自己的html,例如:
<table width="100%">
<thead>
<tr>
<th>Fieldname</th>
<th>Fieldname</th>
<th>Fieldname</th>
<th>Fieldname</th>
<th>Fieldname</th>
</tr>
</thead>
<tbody>
{% for item in html_df %}
<tr>
<td>{{ item.fieldname }}</td>
<td>{{ item.fieldname }}</td>
<td>{{ item.fieldname }}</td>
<td>{{ item.fieldname }}</td>
<td>{{ item.fieldname }}</td>
</tr>
{% empty %}
<tr>
<td colspan="5">No Records</td>
</tr>
{% endfor %}
</tbody>
</table>