Django:将表单输入传递到url
在django中,我在将表单中输入的数字传递到URL时遇到问题: 我试着这样: 模板->index.htmlDjango:将表单输入传递到url,django,Django,在django中,我在将表单中输入的数字传递到URL时遇到问题: 我试着这样: 模板->index.html <form action="/mysite/{{ number }}/details.html" method="post"> <p><label for="number">Give me a number:</label> <input type="text" name="number" id="number" /&
<form action="/mysite/{{ number }}/details.html" method="post">
<p><label for="number">Give me a number:</label>
<input type="text" name="number" id="number" /></p> <input type="submit" value="Submit" />
给我一个号码:
但是结果是/mysite//details.html,而不是/mysite/123/details.html(当用户在请求的表单中输入123时)
你能给我一个建议吗
谢谢
JJ您不应该以这种方式配置操作url。用户POST ed number 123将作为
请求传递给您的查看函数。POST['number']
而无需您在操作url中指定它
您的操作url可以是{%url'send_details'%}
,对应于以下url定义:
url(r'^mysite/details/$',
'send_details',
name='send_details'),
您的send\u details
查看功能将收到请求。当用户提交请求时,发布['number']
没有必要将模板中的数字作为上下文变量。将视图粘贴到此处。谢谢!我按照你的建议做了。(我最初的愿望是在URL中有数字,这样用户就可以通过URL直接访问该页面,而不是通过表单)。我不知道你为什么需要这个。表单的目的是收集用户输入。如果在此之后确实需要将用户重定向到特定结果页(具有特定url),则始终可以在查看功能中使用
HttpResponseRedirect
和reverse
(在成功处理表单后)将用户发送到该特定url。