English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
규칙 매개변수에 변환 가능한 부분을 추가하여 URL을 동적으로 구축할 수 있습니다. 이 변수 부분은 <variable로 표시됩니다.-name>로 전달됩니다. 이는 규칙에 연결된 함수에 키워드 매개변수로 전달됩니다.
다음 예제에서, route() 장식자의 규칙 매개변수는 URL에 추가된 추가 데이터를 포함합니다 /hello의 <name> 변수 부분. 따라서, 브라우저에서 URL을 입력하면 http://localhost:5000/hello/w3codebox를 사용하면 'w3codebox는 hello() 함수에 매개변수로 제공됩니다.
다음 코드를 참고하세요 -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ko.oldtoolbag.com # Date : 2020-08-08 from flask import Flask app = Flask(__name__) @app.route('/hello/<name>') def hello_name(name): return 'Hello %s!' % name if __name__ == '__main__': app.run(debug = True)
위의 스크립트를 파일:hello.py에 저장하고 Python shell에서 실행합니다.
그런 다음, 브라우저를 엽니다. URL을 입력 => http://localhost:5000/hello/w3codebox. 브라우저에서 'Hello w'를 볼 수 있습니다3codebox
기본 문자 변수 부분 외에도 다음 변환기 생성 규칙을 사용할 수 있습니다 -
번호 | 변환기 | 설명 |
1 | int | 정수를 받아들입니다 |
2 | float | 浮动值에 대해 |
3 | path | 디렉토리 구분자로 사용되는 슬래시 문자를 받아들입니다(/) |
아래의 코드에서 모든 이러한 생성자가 사용되었습니다.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ko.oldtoolbag.com # Date : 2020-08-08 from flask import Flask app = Flask(__name__) @app.route('/blog/<int:postID>') def show_blog(postID): return 'Blog Number %d' % postID @app.route('/rev/<float:revNo>') def revision(revNo): return 'Revision Number %f' % revNo if __name__ == '__main__': app.run()
Python Shell에서 위의 코드를 실행합니다. URL을 브라우저에서 방문 => http:// localhost:5000/blog/11。
지정된 숫자 값은 show_blog() 함수의 매개변수로 사용됩니다. 브라우저에서 다음 출력을 표시합니다. -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ko.oldtoolbag.com # Date : 2020-08-08 블로그 번호 11
브라우저에 이 URL을 입력하세요 - http://localhost:5000/rev/1.1
revision() 함수는 실수형을 매개변수로 받습니다. 다음 결과는 브라우저 창에 표시됩니다 -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ko.oldtoolbag.com # Date : 2020-08-08 개정 번호 1.100000
Flask의 URL 규칙은 Werkzeug의 루트 모듈을 기반으로 합니다. 이는 생성된 URL이 유일하며 Apache가 제정한 예시를 기반으로 한 것을 보장합니다.
다음 스크립트에서 정의된 규칙을 고려해 보겠습니다 -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ko.oldtoolbag.com # Date : 2020-08-08 from flask import Flask app = Flask(__name__) @app.route('/flask def hello_flask(): return 'Hello Flask' @app.route('/python/) def hello_python(): return 'Hello Python' if __name__ == '__main__': app.run()
두 규칙 모두 비슷하게 보이지만, 두 번째 규칙에서는 끝자리 슬래시(/)를 사용했습니다./)으로 되어 있어서, 규범적인 URL이 되었습니다. 따라서,/python 또는/python/같은 출력을 반환하지만, 첫 번째 규칙의 경우, URL:/flask/원인이 될 수 있습니다404 Not Found 페이지。