У вашому /users
маршруті відсутня коса коса риса, яку Werkzeug інтерпретує як явне правило, що не відповідає кінцевій косой рисі. Або додайте кінцеву скісну риску, і Werkzeug перенаправить, якщо у url її немає, або встановить strict_slashes=False
на маршруті, і Werkzeug буде відповідати правилу з косою рисою або без.
@app.route('/users/')
@app.route('/users/<path:path>')
def users(path=None):
return str(path)
c = app.test_client()
print(c.get('/users'))
print(c.get('/users/'))
print(c.get('/users/test'))
@app.route('/users', strict_slashes=False)
@app.route('/users/<path:path>')
def users(path=None):
return str(path)
c = app.test_client()
print(c.get('/users'))
print(c.get('/users/'))
print(c.get('/users/test'))
Ви також можете встановити strict_slashes
для всіх URL-адрес.
app.url_map.strict_slashes = False
Однак у більшості випадків слід уникати відключення строгих скісних рисок. У документах пояснюється, чому:
Така поведінка дозволяє відносним URL-адресам продовжувати працювати, навіть якщо кінцева коса риса опущена, відповідно до того, як працюють Apache та інші сервери. Крім того, URL-адреси залишаться унікальними, що допомагає пошуковим системам уникати індексування однієї сторінки двічі.