Django:将表单输入传递到url

Django:将表单输入传递到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" /&

在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" /></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。