Home >Backend Development >Python Tutorial >How do I access variables from URLs in Flask routes?

How do I access variables from URLs in Flask routes?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 14:55:02244browse

How do I access variables from URLs in Flask routes?

Accessing Variables from URLs in Flask Routes

When working with Flask, you may encounter scenarios where you need to extract specific information from the URL of a route. Here's how you can achieve this using variable URLs and query strings:

Variable URLs

Variable URLs allow you to define URL patterns with placeholders. These placeholders can be accessed as arguments in the corresponding view functions. For instance, to extract an ID from a URL like "/landingpageA", you can use the following syntax:

@app.route('/landingpage<id>')
def landing_page(id):
    ...

Query Strings

Alternatively, you can pass values as part of the query string in the URL. This approach is useful when the variable is optional or you want to support multiple variables. To retrieve a value from the query string, use the following syntax:

from flask import request

@app.route('/landingpage')
def landing_page():
    id = request.args['id']
    ...

Example URLs

Given the following URLs, the corresponding variable or query string values would be:

  • /landingpageA: id = 'A' (variable URL)
  • /landingpageB: id = 'B' (variable URL)
  • /landingpage: id = 'A' (query string, if 'id' is passed in the query)

Generating URLs

To generate URLs with variable values, use the url_for function:

url_for('landing_page',>

This will generate a URL with the specified value for the 'id' parameter.

Best Practice

While both methods can work, variable URLs are considered a cleaner and more robust approach. They are more straightforward, prevent potential security vulnerabilities, and provide better URL formatting.

The above is the detailed content of How do I access variables from URLs in Flask routes?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn