使用Django通过post传递值

时间:2011-10-18 03:01:24

标签: html django url post parameters

我正在尝试通过html / django制作一个注册表单,所以我有3个输入框供用户输入电子邮件,用户名和密码,然后通过POST将它们发送到/ adduser

<form action="/OmniCloud_App/adduser" method="post">
{% csrf_token %}
  Email Address: <input type="text" name="email" /></br>
  Username: <input type="text" name="username" maxlength=25 /></br>
  Password: <input type="password" maxlength=30 /></br>
  </br>
  <input type="submit" value="Send" /> <input type="reset">
</form>

adducer创建一个新用户并将其保存到DB:

def adduser(request, email, username, password):
    u = User(email=email, username=username, password=password)
    u.save()
    return render_to_response('adduser.html', {'email':email, 'username':username, 'password':password})

但是当我点击提交/注册时,它抱怨说我只在预期3时给它1个参数。我应该如何将signup.html中的电子邮件,用户名和密码字段传递给用户名功能(位于/ username)?

2 个答案:

答案 0 :(得分:2)

如果你阅读part 3 of the tutorial,你会发现视图函数需要将URL本身的一部分作为参数。如果您阅读part 4 of the same tutorial,则会通过request.POST看到POST参数。在文档中,您将了解到您可以编写处理HTML表单生成和验证的Form类。

答案 1 :(得分:1)

它们将位于request.POST,您可以像dict

一样查询
email = request.POST.get('email')
username = request.POST.get('username')
password = request.POST.get('password')