Я хочу изменить код по умолчанию 404, когда фляга не находит маршрут, другому коду. Как я могу это сделать?Flask custom "not found" code
ответ
Как уже говорилось, обычно не рекомендуется переопределять значение стандартных кодов состояния.
Хотя вы можете изменить код состояния, возвратившись, вот пример:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.errorhandler(404)
def page_not_found(error):
return 'This page does not exist', 777
if __name__ == '__main__':
app.run()
Это будет возвращать код состояния 777 на любой странице, кроме /
.
Вот результат:
Еще по теме можно найти here.
, но если я отменил (404) в коде @ app.errorhandler (404), он обработает его, а затем я получу 777 вместо 404 – novox
@novox. Это то, о чем вы только что попросили. – davidism
@novox Я думаю, что вы можете использовать то, что я опубликовал, чтобы изменить код 404 на что-то еще. И для _your 404_ вы можете создать собственное исключение (см. [Здесь] (http://werkzeug.pocoo.org/docs/0.10/exceptions/#custom-errors) и [здесь] (http: //flask.pocoo. org/docs/0.10/patterns/apierrors /)), а затем обработать его, возвращая статус 404. Вы не сможете использовать 'abort (404)', по крайней мере, без модификации самой колбы. Вам придется «вызывать исключение YourCustomFourOFour (...)» вместо «abort (404)». – kishkin
- 1. 404 Not Found Flask
- 2. Laravel Custom Trait Not Found
- 3. Flask Login not found Анонимные пользователи
- 4. WSo2 custom handler: Class Not Found error
- 5. Угловой 2 import custom component NOT FOUND
- 6. Drawables not Found Under Custom Type Type
- 7. Laravel 5 Custom Classes Not Found
- 8. Azure Custom Domain - awverify not found
- 9. lein custom java class not found exception
- 10. Xcode code sense not working (Symbol not found)
- 11. ld: library not found
- 12. WMI Namespace "Not Found"
- 13. «ExcelReaderFactory.cs not found» Ошибка
- 14. Giraph: Class not Found Exception on custom Job
- 15. Nhibernate Loquacious Mapping By Code (Not-Found = Ignore)
- 16. Google Code Challenge - Palindrome, parameters (int) not found
- 17. Parse cloud code return 114 function not found
- 18. Class 'Input' not found
- 19. werkzeug custom flask error handling
- 20. ListView item not found
- 21. ajax url not found "NetworkError: 404 Not Found"
- 22. Flask Admin Custom View
- 23. Flask-Bootstrap custom theme
- 24. Flask not serve image
- 25. Apache - 404 Not Found
- 26. MapReduce stopwords not found
- 27. Gradle not found dependency
- 28. Graphhopper возвращает «not found»
- 29. Dll not found exception
- 30. $ esp register not found
В случае, если вы хотите изменить страницу (или ее сообщение), отображаемую на 404? –
Почему вы хотите изменить 404 на какой-то другой код? Если вы хотите использовать более определенный код, например 410 (Gone), вы должны использовать его только для некоторых маршрутов и только в том случае, если документ действительно удален. – Pyfisch
Я делаю конкретный api, 404, используемый, когда объект не найден, 502 будет использоваться, когда колба не найдет маршрут – novox