programing

url_for()를 사용하여 플라스크에 동적 URL을 만듭니다.

sourcetip 2023. 1. 10. 21:42
반응형

url_for()를 사용하여 플라스크에 동적 URL을 만듭니다.

내 플라스크 경로의 절반은 가변적인 말을 요구한다./<variable>/add또는/<variable>/remove. 해당 위치에 대한 링크를 작성하려면 어떻게 해야 합니까?

url_for()함수의 라우팅처가 되는 인수는 1개인데 인수를 추가할 수 없습니까?

변수에 키워드 인수를 사용합니다.

url_for('add', variable=foo)
url_for('remove', variable=foo)

플라스크 서버에는 다음과 같은 기능이 있습니다.

@app.route('/<variable>/add', methods=['GET', 'POST'])
def add(variable):

@app.route('/<variable>/remove', methods=['GET', 'POST'])
def remove(variable):

url_forin Flask는 애플리케이션(템플릿 포함) 전체에서 URL을 변경해야 하는 오버헤드를 방지하기 위해 URL을 만드는 데 사용됩니다.없이.url_for앱의 루트 URL에 변경이 있는 경우 링크가 있는 모든 페이지에서 변경해야 합니다.

구문:url_for('name of the function of the route','parameters (if required)')

다음과 같이 사용할 수 있습니다.

@app.route('/index')
@app.route('/')
def index():
    return 'you are in the index page'

인덱스 페이지에 링크가 있는 경우 다음을 사용할 수 있습니다.

<a href={{ url_for('index') }}>Index</a>

예를 들어 다음과 같은 많은 작업을 수행할 수 있습니다.

@app.route('/questions/<int:question_id>'):    #int has been used as a filter that only integer will be passed in the url otherwise it will give a 404 error
def find_question(question_id):  
    return ('you asked for question{0}'.format(question_id))

위의 경우 다음을 사용할 수 있습니다.

<a href = {{ url_for('find_question' ,question_id=1) }}>Question 1</a>

이렇게 간단하게 파라미터를 전달할 수 있습니다!

자세한 내용은 Flask API 문서를 참조하십시오.

js 또는 css를 템플릿에 링크하기 위한 기타 사용 예시는 다음과 같습니다.

<script src="{{ url_for('static', filename='jquery.min.js') }}"></script>

<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">

템플릿:

함수 이름과 인수를 전달합니다.

<a href="{{ url_for('get_blog_post',id = blog.id)}}">{{blog.title}}</a>

표시, 기능

@app.route('/blog/post/<string:id>',methods=['GET'])
def get_blog_post(id):
    return id

함수를 추가해야 한다는 것은 해당 함수를 렌더링하는 페이지가 url_for(함수명) 안에 추가되어야 함을 의미합니다.이 함수로 리다이렉트 되고, 거기에 따라서 페이지가 렌더링 됩니다.

언급URL : https://stackoverflow.com/questions/7478366/create-dynamic-urls-in-flask-with-url-for

반응형