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的安装配置,以及使用就写到这里,如果有什么疑问可以留言探讨,谢谢。