我有一个这种格式的元组列表:(a,b,c),(d,e,f),(g,h,i)。出于某些原因,我需要在表单中将其作为隐藏字段传递,并且在我的视图中需要检索它。然而,我不能这样做。
下面是我的代码片段:
html模板
<form id="form1" action="{% url 'job_recommendations' %}" method="POST">
{% csrf_token %}
<a onclick="document.getElementById('form1').submit();">View more recommendations </a
<input type="hidden" name="recommendations" value="{{ job_recommendations }}"> #it
is the list that I want to pass. It already has correct values
</form>views.py
def job_recommendations(request):
if request.method == "POST":
recommendations = request.POST['recommendations']
for job, recruiter, percentage in recommendations:
print(percentage)
return render(request, 'recommendations.html')发布于 2021-06-10 02:30:51
这不是最好的方法,但是你可以使用ast模块。Jinja会将[(a,b,c), (d,e,f),(g,h,i)]作为字符串放入模板中。您将在视图中获得此字符串,然后可以对此字符串调用ast.literal_eval(str)函数以将此字符串转换为列表。
请记住,这是非常不安全的,因为它允许用户从前端在后端执行代码。
https://stackoverflow.com/questions/67909686
复制相似问题