django应用程序的强大而简单的ajax框架。

djangoajax的Python项目详细描述


django应用程序的快速而简单的ajax库。

Master Build StatusPYPI PackagePYPI StatusPYPI License

要求

3.x

2.x

安装

在python环境中安装django ajax

1-下载并安装软件包:

$ pip install djangoajax

通过Github:

pip install -e git://github.com/yceruto/django-ajax#egg=djangoajax

或者只需使用:

$ python setup.py install

2-将'django_ajax'添加到INSTALLED_APPS列表中。

3-阅读使用部分,享受它的优势!

用法

@ajax装饰器

fromdjango_ajax.decoratorsimportajax@ajaxdefmy_view(request):do_something()

如果视图没有返回任何结果,则返回(json格式):

{"status":200,"statusText":"OK","content ":null}

在响应中发送自定义数据

@ajaxdefmy_view(request):c=2+3return{'result':c}

结果以以下方式发送到浏览器(json格式)

{"status":200,"statusText":"OK","content":{"result":5}}

与其他装饰符组合

fromdjango.contrib.auth.decoratorsimportlogin_requiredfromdjango_ajax.decoratorsimportajax@ajax@login_requireddefmy_view(request):# if the request.user is anonymous then this view not proceedreturn{'user_id':request.user.id}

json响应:

{"status":302,"statusText":"FOUND","content":"/login"}

模板响应

fromdjango.shortcutsimportrenderfromdjango_ajax.decoratorsimportajax@ajaxdefmy_view(request):returnrender(request,'home.html')

json响应:

{"status":200,"statusText":"OK","content":"<html>...</html>"}

catch异常

@ajaxdefmy_view(request):a=23/0# this line throws an exceptionreturna

json响应:

{"status":500,"statusText":"INTERNAL SERVER ERROR","content":"integer division or modulo by zero"}

ajax中间件

如果您经常在项目中使用ajax,我们建议您使用下面描述的ajax中间件。

django_ajax.middleware.AJAXMiddleware添加到settings.py中的MIDDLEWARE_CLASSES列表中。

如果请求是由ajax发出的,则所有响应都将转换为json,否则将返回一个httpresponse。

小心!

如果使用此中间件,则无法使用@ajaxdecorator。

< H3> AJAXMIXIN用于基于类的视图

AJAXMixin是一个调用ajax装饰器的对象。

fromdjango.views.genericimportTemplateViewfromdjango_ajax.mixinimportAJAXMixinclassSimpleView(AJAXMixin,TemplateView):template_name='home.html'

json响应:

{"status":200,"statusText":"OK","content":"<html>...</html>"}

享受吧!

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

推荐PyPI第三方库


热门话题
java错误:无法解析方法   如何用相同的父标记和子标记在Java中解析XML?   日期使用Java中的时区偏移将本地时间转换为UTC   java如何在多进程、多线程环境中读取文件   WebView中的java弹出式对话框不在当前显示范围内,但在chrome浏览器中运行良好   只有2个参数的java递归二进制搜索方法   无法在java中调用函数   java JavaMail在Tomcat服务器上运行时停止工作   反射通过java程序生成、编译和运行java类   java Android:如何使ListView即使在应用程序关闭后仍保持禁用状态   在JAVA中识别匿名类实例   java渲染一个由三角形组成的立方体,在旋转时会产生奇怪的角度   函数式编程如何基于比较连续的列表元素将Java流减少为布尔值   java如何替换列表中的多个项目?   java Android如何获取随机sqlite数据?   java我已经将useSSL设置为false,但仍然收到警告   java使用动态变量生成jlabel   apachespark:java。lang.NoClassDefFoundError v2TableWithV1回退