аргумент колбы в render_template

Имя в качестве аргумента функции hello назначается None, но почему имя в render_template будет принимать значение имени, если оно указано в URL-адресе? В основном, мой вопрос заключается в том, как Python знает, какое имя None и какое имя указывается в URL-адресе?

from flask import render_template @app.route('/hello') @app.route('/hello/<name>') def hello(name=None): return render_template('hello.html', name=name) 

hello.html:

 <!doctype html> <title>Hello from Flask</title> {% if name %} <h1>Hello {{ name }}!</h1> {% else %} <h1>Hello, World!</h1> {% endif %} 

One Solution collect form web for “аргумент колбы в render_template”

Flask – это фреймворк, и за кулисами (особенно werkzeug ) существует много кода, который выполняет всю обработку запроса, затем вызывает функцию просмотра, а затем готовит полный ответ.

Таким образом, ответ заключается в том, что Python не знает URL-адреса, но Flask делает и вызывает вашу функцию просмотра либо с name (переписывая значение по умолчанию None ), либо без него.

Переменная имени функции вида передается шаблону под тем же именем. Это два name s в этой строке:

 return render_template('hello.html', name=name) 
  • Python: Что-то делать для любого метода класса?
  • Python 3 string.join () эквивалентно?
  • Создание метода, который одновременно является методом экземпляра и класса
  • Магический метод Python Расширенное недопущение задания
  • Метод списка для удаления последнего элемента в списке, а также всех элементов
  • Объект 'int' не вызывается в python
  • использование несвязанных методов в другом классе python
  • метод сортировки
  • Python - лучший язык программирования в мире.