2017-01-26 2 views
0

와 PUT 방법을 사용할 수 없습니다 :내가이 쉽게 프로그램을 작성 플라스크

@app.route('/puttest/', methods=['GET', 'PUT']) 
def upload_file(): 
    if request.method == 'PUT': 
     return 'Hello, {}!'.format(request.form['name']) 
    else: 
     return ''' 
      <title>Does it work ?</title> 
      <h1>PUT test</h1> 
      <form action=http://localhost:8887/puttest/ method=put> 
       <input type=text name=name> 
       <input type=submit value=try> 
      </form> 

     ''' 

if __name__ == '__main__': 
    app.run('0.0.0.0', 8887) 

그것은 GET 방법에 대해 완벽하게 작동을하지만, PUT 작동하지 않습니다. put 메시지를 보내려고, 나는 브라우저에서이 오류를 볼 수 있습니다 put 방법

Method Not Allowed 

The method is not allowed for the requested URL. 

을 무슨 일이 있었는지? 내가 프로그램에서 사방 postput 방법을 변경하는 경우

그것은 잘 작동합니다.

+0

HTML Standard은 아마 당신은 너무 많은 일 슬래시가 있습니다. http : // localhost : 8887/puttest를 form에 넣고/puttest 경로를 – Nils

+0

@ Nils no로 지정하면'post'와 올바르게 작동합니다. – faoxis

답변

3

PUT은 HTML 메소드 속성과 함께 작동하지 않습니다. 허용되는 값은 다음과 같습니다 방법은 = 수 | 포스트

당신은 웹 양식에서 POST를 사용해야합니다 :

@app.route('/puttest/', methods=['GET', 'POST']) 
def upload_file(): 
if request.method == 'POST': 
    return 'Hello, {}!'.format(request.form['name']) 
else: 
    return ''' 
     <title>Does it work ?</title> 
     <h1>PUT test</h1> 
     <form action=http://localhost:8887/puttest/ method=post> 
      <input type=text name=name> 
      <input type=submit value=try> 
     </form> 
    ''' 

또한에서 정보 : Using PUT method in HTML form