From 82511a6fe2d29d50c1cdca4b2abb23ff681a1943 Mon Sep 17 00:00:00 2001 From: Sebastian Silva Date: Wed, 16 Nov 2011 07:56:19 +0000 Subject: Major improvements in IDE usability. --- (limited to 'app/static/doc/flask-docs/patterns/errorpages.html') diff --git a/app/static/doc/flask-docs/patterns/errorpages.html b/app/static/doc/flask-docs/patterns/errorpages.html new file mode 100644 index 0000000..820e271 --- /dev/null +++ b/app/static/doc/flask-docs/patterns/errorpages.html @@ -0,0 +1,182 @@ + + + + + + + + + Custom Error Pages — Flask 0.8 documentation + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Custom Error Pages

+

Flask comes with a handy abort() function that aborts a +request with an HTTP error code early. It will also provide a plain black +and white error page for you with a basic description, but nothing fancy.

+

Depending on the error code it is less or more likely for the user to +actually see such an error.

+
+

Common Error Codes

+

The following error codes are some that are often displayed to the user, +even if the application behaves correctly:

+
+
404 Not Found
+
The good old “chap, you made a mistake typing that URL” message. So +common that even novices to the internet know that 404 means: damn, +the thing I was looking for is not there. It’s a very good idea to +make sure there is actually something useful on a 404 page, at least a +link back to the index.
+
403 Forbidden
+
If you have some kind of access control on your website, you will have +to send a 403 code for disallowed resources. So make sure the user +is not lost when they try to access a forbidden resource.
+
410 Gone
+
Did you know that there the “404 Not Found” has a brother named “410 +Gone”? Few people actually implement that, but the idea is that +resources that previously existed and got deleted answer with 410 +instead of 404. If you are not deleting documents permanently from +the database but just mark them as deleted, do the user a favour and +use the 410 code instead and display a message that what they were +looking for was deleted for all eternity.
+
500 Internal Server Error
+
Usually happens on programming errors or if the server is overloaded. +A terrible good idea to have a nice page there, because your +application will fail sooner or later (see also: +Handling Application Errors).
+
+
+
+

Error Handlers

+

An error handler is a function, just like a view function, but it is +called when an error happens and is passed that error. The error is most +likely a HTTPException, but in one case it +can be a different error: a handler for internal server errors will be +passed other exception instances as well if they are uncaught.

+

An error handler is registered with the errorhandler() +decorator and the error code of the exception. Keep in mind that Flask +will not set the error code for you, so make sure to also provide the +HTTP status code when returning a response.

+

Here an example implementation for a “404 Page Not Found” exception:

+
from flask import render_template
+
+@app.errorhandler(404)
+def page_not_found(e):
+    return render_template('404.html'), 404
+
+
+

An example template might be this:

+
{% extends "layout.html" %}
+{% block title %}Page Not Found{% endblock %}
+{% block body %}
+  <h1>Page Not Found</h1>
+  <p>What you were looking for is just not there.
+  <p><a href="{{ url_for('index') }}">go somewhere nice</a>
+{% endblock %}
+
+
+
+
+ + +
+
+
+
+
+

Table Of Contents

+ +

Related Topics

+ +

This Page

+ + + +
+
+
+
+ + + \ No newline at end of file -- cgit v0.9.1