客户端JavaScript错误挂钩的通用处理程序。
项目描述
安装
要运行测试的演示项目
$ git clone git://github.com/jojax/django-js-error-hook.git $ cd django-js-error-hook $ virtualenv env --python=python3 $ source env/bin/activate (env) $ pip install -e . (env) $ pip install -e demo (env) $ demo migrate
运行服务器
(env) $ demo runserver
然后访问:http://localhost:8000/ - JavaScript错误将在您的控制台中记录。
要将项目安装到生产环境中
$ pip install django-js-error-hook
将 django-js-error-hook 添加到您的 INSTALLED_APPS 设置中
INSTALLED_APPS = ( ... 'django.contrib.staticfiles', 'django_js_error_hook', ... )
如果您想将错误记录到控制台以进行开发
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse' } }, 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' }, 'simple': { 'format': '\033[22;32m%(levelname)s\033[0;0m %(message)s' }, }, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler' }, 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'simple' }, }, 'loggers': { 'django.request': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True, }, 'javascript_error': { 'handlers': ['mail_admins', 'console'], 'level': 'ERROR', 'propagate': True, }, } }
默认情况下,记录器名为“javascript_error”,如果您想的话,可以在您的设置中定义 JAVASCRIPT_ERROR_ID
JAVASCRIPT_ERROR_ID = '<your logger name>'
视图将执行 csrf 验证 - 如果由于某种原因它不起作用,请在您的设置中将 JAVASCRIPT_ERROR_CSRF_EXEMPT 设置为 True。
然后安装 URL
urlpatterns = patterns('', ... url(r'^js_error_hook/', include('django_js_error_hook.urls')), ... )
在您的模板中,只需添加 js_error_hook 脚本
<script type="text/javascript"> window.djangoJSErrorHandlerUrl = "{% url 'js-error-handler' %}" </script> <script type="text/javascript" src="{% static 'js/django_js_error_hook.js' %}"></script>
现在,每个JavaScript错误都将记录到您的错误记录流中。(邮件、Sentry、…)
祝您玩得开心,随时fork我们并提供反馈!
开发
在为该应用程序编写时,您可以运行 tox,该工具将对Python和Django的各个版本进行项目测试。
pip install tox tox
项目详情
关闭
django-js-error-hook-1.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 880aed615d2c63c29b04f756960fcdc5b64483e6c769349b44da7a1a97e44579 |
|
MD5 | 75f2edd593d304583ca3ca6bd1173ee6 |
|
BLAKE2b-256 | 11893e7e8eed185bc3a99a7f1e6eb7713d22924455acf23b0f9bb22b688b99c9 |
关闭
django_js_error_hook-1.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | eeafbecebeeaddc02a6ae12707936444284e1709656f4170d023f25b2d68e2d3 |
|
MD5 | 272159e897def6085e10932bf8d1b0e1 |
|
BLAKE2b-256 | 65ca124cfb25ce082951cafc094c22265cf2d7014105a372bd017a8529cd1f47 |