django应用程序的强大而简单的ajax框架。
djangoajax的Python项目详细描述
django应用程序的快速而简单的ajax库。
安装
在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>"}
享受吧!