Skip to main content

像在 AioHTTP 中一样抛出 Web 异常

项目描述

https://badge.fury.io/py/django-web-exceptions.svg https://travis-ci.org/samael500/web-exceptions.svg?branch=master https://codecov.io/gh/samael500/web-exceptions/branch/master/graph/badge.svg 文件状态

像在 AioHTTP 中一样抛出 Web 异常

什么和为什么?

AioHTTP 中,您可以将任何响应作为异常引发(这非常酷)。但是 Django 只能引发 3+1 网络异常。

此包允许您将任何 HTTP 响应作为异常引发。

文档

完整文档位于https://web-exceptions.readthedocs.io

快速开始

安装 Django Web 异常:

pip install django-web-exceptions

将其添加到您的MIDDLEWARE

# settings.py
MIDDLEWARE = (
    # ...
    'web_exceptions.middleware.WebExceptionsMiddleware',
    # ...
)

特征

导入异常并在任何地方引发

# views.py
from web_exceptions import exceptions

# ...

def index(request):
    """ Simple view raise redirectexception """
    raise exceptions.HTTPMovedPermanently('/foo')

您还可以自定义任何类型的异常状态代码作为自定义处理程序,在urls.py中定义,如django 错误处理程序

# urls.py
from myapp import views

handler300 = <callable view>
handler400 = <callable view>
handler<status_code> = <callable view>

有关更多示例,请参见示例项目

运行测试

代码真的有效吗?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

学分

用于渲染此包的工具:

项目详情


下载文件

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

源分布

django-web-exceptions-0.1.4.tar.gz (7.7 kB 查看哈希)

已上传 source

内置分布

django_web_exceptions-0.1.4-py2.py3-none-any.whl (7.3 kB 查看哈希

已上传 3 6