Не могли бы вы объяснить мне разницу между:
@app.route( '/something' )
по сравнению с:
@app.route( 'something/' )
, а также по сравнению с:
@app.route( 'something' )
Так что яможно лучше их различить?
Одним словом, /foo был нормальный вариант использования, /foo/ использовался, когда вы хотите, чтобы URL выглядел как путь / папка, foo был неправильным.Если я не прав, пожалуйста, исправьте меня.
/foo
/foo/
foo
/
Следующие два правила различаются по использованию конечной косой черты.
@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 для этих ресурсов, что помогает поисковым системам избегать индексации одной и той же страницы дважды.
Канонический URL-адрес для конечной точки проекта имеет косую черту.Это похоже на папку в файловой системе.Если вы обращаетесь к URL без косой черты, Flask перенаправляет вас на канонический URL с косой чертой.
Канонический URL для конечной точки about не имеет косой черты.Это похоже на путь к файлу.Доступ к URL с косой чертой приводит к ошибке 404 «Not Found».Это помогает сохранять уникальность URL для этих ресурсов, что помогает поисковым системам избегать индексации одной и той же страницы дважды.
Ссылка: http://flask.pocoo.org/docs/1.0/quickstart/#unique-urls-redirection-behavior