2011-10-18 12 views
1

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이 예상 될 때 나는 단지 그것을 한 매개 변수를 제공하고 불평. 어떻게 전자 메일, 사용자 이름 및 암호 필드를 signup.html에서 사용자 이름 기능 (/ username)에 전달해야합니까?

답변

2

, 당신은보기 기능이 인수로 URL 자체의 부분을 기대하고 있음을 볼 것입니다 당신처럼 조회 할 수있는, request.POST에있을 것입니다. part 4 of the same tutorial을 읽으면 POST 매개 변수가 request.POST을 통해 들어오는 것을 확인할 수 있습니다. 또한이 문서에서 HTML 양식 생성 및 유효성 검사를 처리하는 Form 클래스를 작성할 수 있음을 알게 될 것입니다.

+0

좋습니다. 암호를 POST 요청에 포함시키지 않았지만 전자 메일, 사용자 이름 및 csrfmiddlewaretoken이라는 펑키 한 항목이있는 것으로 보입니다. 왜 양식의 암호 필드도 보내지 않습니까? – Chris

+0

이름을 지정하는 것을 잊었 기 때문에. 장고 양식을 사용하는 또 다른 이유는 다음과 같습니다. –

+0

너 너무 좋다. 나는 형식 수업을 들여다 보겠다. 첫 번째 하하 (haha) 튜토리얼을 통해 그것을 만들고 싶었다. 무리 감사! – Chris

1

그들은 당신이 part 3 of the tutorial을 읽을 경우 dict

email = request.POST.get('email') 
username = request.POST.get('username') 
password = request.POST.get('password') 
+0

찾고있는 단어는 [ "매핑"] (http://docs.python.org/library/stdtypes.html#mapping-types-dict)입니다. –