2012-12-25 2 views
2

나는 방금 플라스크로 놀기 시작 했으므로, 이것은 아마도 심각하게 멍청한 질문이다. 이 앱은 Google App Engine SDK 1.7.4에서 실행됩니다. Flask 0.9, Werkzeug 0.9 및 Jinja2 2.6.플라스크 루트 순서가 중요합니까?

다음 코드는 예상대로 작동 : 나는/

from flask import Flask 
from flask import render_template 

app = Flask(__name__) 

@app.route('/hello/', methods=['GET', 'POST']) 
@app.route('/hello/<name>', methods=['GET', 'POST']) 
def hello(name=None): 
    return render_template('hello.html', name=name) 


@app.route('/') 
def hello(): 
    return "Main page" 

if __name__ == "__main__": 
    app.run() 

설상가상으로 갔다 것처럼

from flask import Flask 
from flask import render_template 

app = Flask(__name__) 

@app.route('/') 
def hello(): 
    return "Main page" 


@app.route('/hello/', methods=['GET', 'POST']) 
@app.route('/hello/<name>', methods=['GET', 'POST']) 
def hello(name=None): 
    return render_template('hello.html', name=name) 

if __name__ == "__main__": 
    app.run() 

을 그러나, 나는, 경로 처리기 역방향으로가는 경우/인사/렌더링,/hello /와 같이/hello/John과 같이 실행하면 오류 500이 발생합니다.

정상적인 동작이며 경로 순서가 중요합니까? 그렇다면 관련된 문서를 가리키고 가능한 경우이 주문이 왜 중요한지에 대한 설명을 제공하십시오.

답변

7

동일한 이름 (hello)을 가진 두 개의 함수를 생성하고 있습니다. 두 번째 이름 바꾸기 :

@app.route('/') 
def index(): 
    return "Main page" 
+0

감사합니다! 소파에 거의 쓰러져서 이것이 얼마나 어리 석 었는지에 대해 웃었다. 메리 크리스마스/해피 홀리데이! – Sologoub

+0

@Sologoub : 고마워, 너도! – Blender

+0

7 분 안에 수락하고 계산합니다. – Sologoub

관련 문제