Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » endpoint нужно объяснение человеческим языком (== с человеческим лицом) [RSS Feed]

#1 Сен. 14, 2016 16:45:19

Koala
Зарегистрирован: 2015-10-28
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

endpoint нужно объяснение человеческим языком (== с человеческим лицом)

объясните, пожалуйста, что такое endpoint.
все виды документации читал, но не понял
“угадал все буквы, но не угадал слово” :-)

 from flask import url_for
          
@app.route('/user/<name>', endpoint='user')
def view_user(name):
    return '"/user/<name>", endpoint="user"'  
@app.route('/user/new', endpoint='user23')
def new_user():
    return '"/user/new", endpoint="user23"'  
from сдвинул редактор форума, а не я :-)
у меня правильно

на
http://127.0.0.1:5000/user/bamm
http://127.0.0.1:5000/user/spam
и любое другое после /user/
отдает “/user/<name>”, endpoint=“user”

на http://127.0.0.1:5000/user/new
отдает “/user/new”, endpoint=“user23”

на http://127.0.0.1:5000/user/ddd/user
ничего не дает

в чем тут логика - user и user23 это искусственный конец URL? так нет, не похоже - не работает,
тогда что это и зачем?

Отредактировано Koala (Сен. 14, 2016 16:50:28)

Офлайн

#2 Сен. 14, 2016 19:01:43

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

endpoint нужно объяснение человеческим языком (== с человеческим лицом)

endpoint позволяет в местах где предполагается использовать путь к rout'u вставлять вместо целого роута endpoint. Это типа alias.

Попробую пояснить на примере

 #
@app.route('/user/<name>')
def user(name): pass
#
@app.route('/users', endpoint="ops")
def users(): pass

Для получение ссылки на 1 роут нужно вызвать по имени функции, а второй по endpoint.

 # for first url
url_for("user")
# for second url
url_for("ops")

Использовать нужно очень аккуратно. Я стараюсь использовать только для спец route, которые одни единственный для всего приложения!!! Иначе можно выхватить очень неявное поведение…

Офлайн

  • Начало
  • » Web
  • » endpoint нужно объяснение человеческим языком (== с человеческим лицом)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version