Передача значений по почте с Джанго - PullRequest
1 голос
/ 18 октября 2011

Я пытаюсь создать форму регистрации через 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 создает нового пользователя и сохраняет его в БД:

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})

но когда я нажимаю кнопку отправить / регистрация, он жалуется, что я даю ему только 1 параметр, когда ожидались 3. Как передать поля email, username и password из signup.html в функцию username (находится в / username)?

Ответы [ 2 ]

2 голосов
/ 18 октября 2011

Если вы прочитаете часть 3 учебника , вы увидите, что функция представления ожидает части самого URL-адреса в качестве аргументов. Если вы прочитаете часть 4 этого же учебника , вы увидите, что параметры POST входят через request.POST. Далее в документации вы узнаете, что можете писать классы форм, которые обрабатывают как генерацию, так и проверку HTML-форм.

1 голос
/ 18 октября 2011

они будут в request.POST, который вы можете запросить, как если бы вы dict

email = request.POST.get('email')
username = request.POST.get('username')
password = request.POST.get('password')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...