Dajax 的安装以及详细使用

Dajax 的安装以及详细使用

  上篇博已经详细的介绍了Dajaxice 的安装配置,以及简单使用,具体参见:http://www.cnblogs.com/Jghost/p/3596604.html 。

  写这篇博客的主要目的介绍下Dajax的是配置和使用,因为Dajaxice只是简单的应用,在form表单以及复杂的逻辑业务下,Dajax更能胜任。

下面的配置环境在Django 1.6 下进行安装部署,以及使用的,其他版本没有测试。

一、安装Dajax

  sudo pip install django_dajax

二、在Django中配置Dajax 

(1)、在settings.py中的INSTALLED_APPS里面添加dajax,

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'dajaxice',
    'dajax',
    ...
)

(2)、在你的app目录下新建一个ajax.py文件,注意:这一点需要注意的是必须是app目录下的根目录,app/ajax.py,如果是app/files/ajax.py的话就不行。

在此文件中写请求方法处理,如下:

from dajax.core import Dajax
def multiply(request, a, b):
    dajax = Dajax()
    result = int(a) * int(b)
    dajax.assign('#result','value',str(result))
    return dajax.json()

  (3)、将dajax添加到你的html 表头里。目前dajax支持4种主流的JS框架:

jQuery 1.7.2 - dajax/jquery.dajax.core.js
Prototype 1.7 - dajax/prototype.dajax.core.js
MooTools 1.4.5 - dajax/mootools.dajax.core.js
Dojo 1.7 - dajax/dojo.dajax.core.js

  我在Django里使用的是jquery,所以引入jquery.dajax.core.js就可以了

{% static "/static/dajax/jquery.dajax.core.js" %}

如果出现导入不成功的情况,主要是因为dajax使用了django.contrib.staticfiles,所以导入文件就方便了,运行 python manage.py collectstatic,会将dajax文件放到 settings.py中设置的STATIC_ROOT文件夹下:

如我的当前STATIC_ROOT文件目录在:/var/www/example.com/static/ ,需要如果没有读写权限的话,需要使用sudo 执行。

$:/var/www/example.com/static$ ls
admin  dajax  dajaxice  __init__.py  oak

这样的话 引入语句就可以这样写:

{% static "dajax/jquery.core.js" %}

  PS:在老版本的Dajax中 

  from dajax.core.Dajax import Dajax  会报错,

  更改方法:
  from dajax.core import Dajax
 

三、使用方法

在前台界面中:

  <button onclick="Dajaxice.app.example(my_callback)">Click here!</button>

function my_callback(data){
    Dajax.process(data);
    /* Your js code */
}

后台ajax.py里面代码:

from dajax.core import Dajax

def example(request):
    dajax = Dajax()
    dajax.alert('Hello from python!')
    return dajax.json()

   更多API:

    

至此,关于dajax的安装配置,以及使用就写到这里,如果有什么疑问可以留言探讨,谢谢。

原文地址:https://www.cnblogs.com/Jghost/p/3625470.html