用于未处理ajax错误的django中间件

django-ajaxerrors的Python项目详细描述


简单的django中间件,通过在不同的浏览器窗口中自动打开django的失败ajax请求,可以轻松查看django的技术错误页面。

问题

我认为大多数django开发人员都知道django有用的调试模式未处理错误页面。但是,当ajax请求到达错误视图时,错误页将不会在浏览器中呈现,而是由ajax错误处理程序接收(假设您甚至有一个错误处理程序),这几乎总是不是您想要的。这迫使你找到其他方法来获取你的回溯信息。例如,在编写这个包之前,我经常打开chrome的开发工具,在“资源”选项卡中找到失败的资源,然后阅读原始html(讨厌)或将其复制粘贴到文件中并双击它(乏味)。

建议的解决方案

由于问题实际上是关于开发的容易性,而且由于我(我怀疑还有许多其他django开发人员)在本地完成了大部分开发工作,我认为该解决方案可以利用服务器是一个具有现代浏览器和gui的成熟桌面的优势。输入ajaxerrors.middleware.ShowAJAXErrors。这个小的中间件拦截所有未处理的视图异常,pickle技术错误页面,并使用python的webbrowser模块在一个特殊的url上引导一个新的浏览器选项卡,该url将服务(和删除)先前存储的页面。

只有当DEBUG为true且request.is_ajax()为true时,才会触发所有这些操作,因此您在开发流中使用的几乎所有内容都应该保持不变。太好了。

安装说明

  1. 像任何其他python包一样使用easy_installpip安装,或者只使用:
    python setup.py安装
  2. ajaxerrors.middleware.ShowAJAXErrors添加到中间件类设置中。

您还可以在包的readme文件中找到更多信息。

贡献

django ajaxerrors是在mit许可下授权的,如果您真的对阅读所有这些小写字母感兴趣,请参阅本发行版中的LICENSE文件。

我真的很想有一天在django中看到这个特性,但是首先我们应该看看其他人是否感兴趣,也许可以在这个非常简单的实用程序中添加更多内容。不管怎样,请随意拿叉子给我发拉货请求。我会尽我最大的努力修复任何漏洞,只要…嗯,至少直到我失去兴趣。

如果你想讨论一些关于django ajaxerrors的事情,或者如果你对我有其他的好奇,请在yaniv的aknin dot name找到我,访问django ajaxerrors'GitHub page或者我的smashingPython-centric tech blog

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是用来加速集合中对象查找的哈希代码吗?   java在Servlet中执行后将JSP请求重定向到自身   JavaHTTPStatus415使用Ajax将Json数据发布到SpringMVC4也使用了SpringSecurity   java为什么谷歌应用引擎MySQL JDBC URL不与数据库连接?   多线程Java:强制停止ExecutorService线程   java使用For循环向组合框添加值   java子Git“内存不足”和“超出GC开销限制”   使用正则表达式运行计算器程序时出现java NumberFormatException   java MockMvc测试POST请求返回错误:实际调用有不同的参数:   java自动在虚拟机内移动鼠标,与真实的鼠标无关   当类位于类路径上时,java Surefire抛出SurefireReflectionException   java GroupLayout错误:找不到错误的行   SpringHibernateJava。lang.NoSuchFieldError:实例   从一个java密钥库生成多个个人证书的身份验证   java 1.6.013中的eclipse@WebServlet注释支持   java Spring Webservicetemplate连接重置错误   spring如何修复SqlRowSet上的“无效游标SQL异常”。Java中的Next()   java Websphere版本迁移