Python 如何使用Django在两个视图之间发送大量文本
我需要一个建议,通过Django在两个视图之间传递大量文本。 下面的代码就是我所想的,但第一个代码不起作用,第二个我不知道使用cookies是否更好Python 如何使用Django在两个视图之间发送大量文本,python,django,cookies,Python,Django,Cookies,我需要一个建议,通过Django在两个视图之间传递大量文本。 下面的代码就是我所想的,但第一个代码不起作用,第二个我不知道使用cookies是否更好 <form method="POST"> {% csrf_token %} {{ form.post }} <!-- This is a textarea, the user can write as much as he wants --> <input type="submit" value="Pr
<form method="POST"> {% csrf_token %}
{{ form.post }} <!-- This is a textarea, the user can write as much as he wants -->
<input type="submit" value="Prepare to send">
</form>
在url.py中
url(r'^new_view/', new_view, {'post':'baam'}, name='new_view'),
这引发了以下例外情况:
Exception Type: NoReverseMatch
Exception Value: Reverse for 'new_view' with arguments '()' and keyword arguments '{'post': u''}' not found. 1 pattern(s) tried: ['new_view/']
根据您的url定义,
new\u视图
url不带任何参数,因此您会得到错误
但在url中传递数据,特别是您提到的大数据,是不好的。Cookie或django会话是更好的选择
要使用django会话,请将视图更新为
def sender(request):
if form.is_valid():
cd = form.cleaned_data
letter = cd['post']
request.session['post_data'] = letter
next = reverse('new_view',)
return HttpResponseRedirect(next)
def new_view(request,):
post_data = request.session.get('post_data')
return render(request, 'new_view.html', {'post': post})
谢谢你,罗汉,我就这样试试!
def sender(request):
if form.is_valid():
cd = form.cleaned_data
letter = cd['post']
request.session['post_data'] = letter
next = reverse('new_view',)
return HttpResponseRedirect(next)
def new_view(request,):
post_data = request.session.get('post_data')
return render(request, 'new_view.html', {'post': post})