跳转到主要内容

为Wagtail提供美观、智能、可定制的错误页面。

项目描述

Wagtail Error Pages
===================
为Wagtail提供美观、智能、可定制的错误页面。它受到了[A List Apart](http://alistapart.com/article/perfect404)关于[完美的404](http://alistapart.com/article/perfect404)文章的启发。

![默认404页面](screenshots/error404.png)

#### 功能
* 简单语言(无行话)
* 搜索框
* 根据搜索的URL建议页面
* 根据用户来源调整信息
* 可定制

搜索
------
404页面会尝试根据输入的URL建议用户可能正在寻找的页面。如果用户找不到他们想要的内容,他们会被鼓励进行搜索或访问主页。

消息
--------
根据用户来源的不同,404消息将进行调整。它通过JavaScript中的`document.referrer`属性来确定。如果JavaScript被禁用,将显示通用消息。

以下是针对**空引用者**、**外部引用者**、**外部引用者(搜索引擎)**和**内部引用者**的可能消息。

![可能的404消息列表](screenshots/error404-messages.png)

安装
-------

pip install wagtailerrorpages

然后,将`wagtailerrorpages`添加到您的已安装应用程序中。

用法
-----
如果您在模板目录的根目录中没有`404.html`或`500.html`,它们将自动从该应用程序中提取。

#### 404页面
要覆盖并设置404页面,请在模板目录的根目录中创建一个`404.html`,并将以下代码添加到顶部

{% extends "wagtailerrorpages/404base.html" %}

然后,添加模板块以覆盖此模板的功能。请参阅下文(“扩展基本404模板”)以获取完整参考,或参考此存储库中的`404base.html`。

#### 500页面
您无法配置500页面。这是设计上的原因;如果发生服务器错误,Wagtail可能无法渲染模板标签,因此最好将此模板保持为自包含和静态。

如果您想自定义一个,请将此应用程序中的一个复制到您的应用程序的`templates/500.html`中,并直接编辑它。

#### 测试
如果您使用了[cookiecutter-wagtail](https://github.com/torchbox/cookiecutter-wagtail),您可以在调试模式下访问您的站点的`/test404`和`/test500`以预览模板。如果没有,您可以[配置您的urls.py](https://github.com/torchbox/cookiecutter-wagtail/blob/23d5dd7a7ba1e442f6c8c5526d211900d05030ef/%7B%7Bcookiecutter.repo_name%7D%7D/%7B%7Bcookiecutter.repo_name%7D%7D/urls.py#L23)以允许这样做。

使用自己的布局
---------------------
如果您只想使用404页面内容(消息和搜索框),您可以使用以下方式将其放在任何位置

{% load wagtailerrorpages_tags %}
{% message404 %}

这可能有助于您在网站的基本布局中保留404页面。

自定义搜索行为
----------------------
如果您想覆盖如何显示建议,请像这样在模板中导入404消息

{% include "wagtailerrorpages/fragments/404message.html" with search_results=MY_PAGES_LIST %}

然后在Python中进行搜索,并适当地渲染页面列表。

扩展基本404模板
------------------------------
如果您使用以下方式扩展基本404模板

{% extends "wagtailerrorpages/404base.html" %}

您有能力覆盖页面的部分。以下是对布局的可覆盖模板块的参考。

#### 文档标题
覆盖浏览器标签中的页面标题。在末尾添加网站名称是个好主意。

{% block title %}页面未找到 - MySite{% endblock %}

#### HTML元标签
覆盖HTML head中的元标签。以下是默认值。

{% block meta %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% endblock %}

#### 样式表和额外的HTML head
额外的head内容;将您的自定义样式表放在这里。默认情况下,它包含自定义样式表,因此覆盖此块将移除它。

{% block head %}
<link rel="stylesheet" href="{% static "css/404.css" %}">
{% endblock %}

#### 页面页眉
页面主体的顶部部分。默认情况下,这包含“返回主页”链接。您可能想包括网站标志,但避免包括完整的导航。

{% block header %}
[<a href="/">返回主页</a>]
{% endblock %}

#### 页面内容
除非有充分的理由,否则不建议您覆盖此部分。它导入404消息片段。

{% block content %}
{% message404 %}
{% endblock %}

#### 页面页脚
页面主体的底部部分。您可能想包括对迷失用户的实用链接,或法律/版权信息。

{% block footer %}{% endblock %}


项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

wagtailerrorpages-1.2.1.tar.gz (6.4 kB 查看哈希值)

上传时间 源代码

构建分发

wagtailerrorpages-1.2.1-py2.py3-none-any.whl (10.9 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者