аргумент колбы в 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) 
  • Почему setattr терпит неудачу при связанном методе
  • многопроцессорность вызовов в классе метод Python
  • Объект 'int' не вызывается в python
  • Почему некоторые функции подчеркивают «__» до и после имени функции?
  • Как экспортировать методы C #?
  • Функции Python - это объекты,
  • a == b является ложным, но id (a) == id (b) истинно?
  • Python: Разрешить методы, которые не определены специально, называются ala __getattr__
  • Почему методы не имеют ссылочного равенства?
  • Проверьте, является ли функция методом какого-либо объекта
  • В чем разница между функцией, несвязанным методом и связанным методом?
  • Python - лучший язык программирования в мире.