Python 如何在django中从视图中的模板获取输入
我知道这个问题太简单了,但我对web应用程序开发完全陌生,至今还没有找到答案。当您希望从用户处接收一些数据时,如用户希望在以下模板中购买的产品数量:Python 如何在django中从视图中的模板获取输入,python,django,web-applications,django-templates,django-views,Python,Django,Web Applications,Django Templates,Django Views,我知道这个问题太简单了,但我对web应用程序开发完全陌生,至今还没有找到答案。当您希望从用户处接收一些数据时,如用户希望在以下模板中购买的产品数量: form action="/pay/" method="POST"> {% csrf_token %} <label for="pid">Book ID</label> <input type="text" name="pid" value={{pid}} /> <
form action="/pay/" method="POST">
{% csrf_token %}
<label for="pid">Book ID</label>
<input type="text" name="pid" value={{pid}} />
<br/>
<label for="sid">Seller ID</label>
<input type="text" name="sid" value={{sid}} />
<br/>
<input type="hidden" name="success_url" value="http://localhost:8000/payment/success" />
<input type="hidden" name="cancel_url" value="http://localhost:8000/payment/cancel" />
<input type="hidden" name="error_url" value="http://localhost:8000/payment/error" />
<p>Checksum test: {{checksum}}</p>
<input type="text" name="checksum" value={{checksum}}/>
</br>
<label for="id_amount">Please enter the number of products you would like to buy </label>
<input type="text" id="id_amount" name="amount" value=""/>
<input type="submit" value="Accept payment" />
</form>
def get_payment_detail(request, pid, sid):
checksum = Payment().calc_checksum()
return render_to_response('payment/payment.html', RequestContext(request, {'pid':Payment.pid,
'sid':Payment.sid,
'amount':Payment.amount,
'checksum': checksum
}))
您可以通过request.POST访问表单数据。例如:
request.POST['pid']
.. 但是你真的应该使用Django的表单框架。你缺少Django的一个漂亮功能。使用表单可以让你的生活更轻松,而且你可以忘记向表单添加验证。我实际上是从这个链接尝试使用它的:但是我必须做的事情的顺序有点混乱。我想做的是拥有一个向用户显示表单的视图。用户输入一些东西,我得到这些输入,然后和其他东西一起发送到外部服务器。但到目前为止,我完全搞砸了!如果你能帮助我,那你真的太好了。检查这个链接:我正在使用你发给我的链接。非常好!但是,如果我想根据从HTML获取的条目计算校验和并将其添加到表单中,我该如何做呢?我的视图如下:def pay(request):if request.method='POST':form=PaymentForm(request.POST)if form.is_valid():checksum=PaymentModel().calc_checksum()myModel=form.save()myModel.checksum=calc_checksum()其他:print form.errors其他:#请求是GET form=PaymentForm()返回render_to_响应('payment/payment.html',{'form':form})