我在我的项目中处理输入文件并将处理过的文本传递给另一个html以供用户批准
def vm_to_csv_upload(request):
if request.method == "POST":
some code here
br_work_string = re.sub('\\n', '<br>', work_string)
page_text = 'Here\'s what gonna be uploaded to crowdin:<br><br><br>' + br_work_string + '<br><br><br>Is that okay?'
return render(request, 'upload_crowdin_check.html', {'page_text': page_text, 'csv_text': work_string})
在此页面上,我显示了传递的数据:
<body>
<div id="text_check">
{% autoescape off %}
{{ page_text }}
{% endautoescape %}
</div>
<form action="/crowdin_approve/" method="POST" value={{ csv_text }} id="csv">
{% csrf_token %}
<input type="submit" class="btn btn-xs btn-danger" value="Okay">
</form>
</body>
尝试将其传递给另一个视图以再次处理它。
def crowdin_approve(request):
if request.method == "POST":
return HttpResponse(request.POST)
else:
return HttpResponse('nope')
但我唯一得到的就是csrfmiddlewaretoken。我究竟做错了什么?我应该如何通过{{csv_text}}值来查看? THX。
答案 0 :(得分:1)
您可以使用隐藏的输入字段传递csv_text
的内容:
<form action="/crowdin_approve/" method="POST" id="csv">
{% csrf_token %}
<input type="hidden" name="csv_text" value="{{ csv_text }}">
<input type="submit" class="btn btn-xs btn-danger" value="Okay">
</form>
然后你可以这样在视图中访问它:
def crowdin_approve(request):
if request.method == "POST":
csv_text = request.POST.get('csv_text', None)