Маршруты с косой чертой и без слешей - PullRequest
0 голосов
/ 26 сентября 2018

Не могли бы вы объяснить мне разницу между:

@app.route( '/something' )

по сравнению с:

@app.route( 'something/' )

, а также по сравнению с:

@app.route( 'something' )

Так что яможно лучше их различить?

1 Ответ

0 голосов
/ 26 сентября 2018

Одним словом, /foo был нормальный вариант использования, /foo/ использовался, когда вы хотите, чтобы URL выглядел как путь / папка, foo был неправильным.Если я не прав, пожалуйста, исправьте меня.

  1. Правило URL должно начинаться с косой черты (/).
  2. /foo и /foo/ - это два разных URLправило, см. подробности в документации:

Следующие два правила различаются по использованию конечной косой черты.

 @app.route('/projects/') 
 def projects():
     return 'The project page'

 @app.route('/about') 
 def about():
     return 'The about page' 

Канонический URL-адрес для конечной точки проекта имеет косую черту.Это похоже на папку в файловой системе.Если вы обращаетесь к URL без косой черты, Flask перенаправляет вас на канонический URL с косой чертой.

Канонический URL для конечной точки about не имеет косой черты.Это похоже на путь к файлу.Доступ к URL с косой чертой приводит к ошибке 404 «Not Found».Это помогает сохранять уникальность URL для этих ресурсов, что помогает поисковым системам избегать индексации одной и той же страницы дважды.

Ссылка: http://flask.pocoo.org/docs/1.0/quickstart/#unique-urls-redirection-behavior

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...