项目地址: https://github.com/vicalloy/django-ajax-validation
django-ajax-validation是一个使Django支持表单AJAX校验的第三方APP。我做了一些修改,增加了表单的AJAX提交以及twitter-bootstrap的支持。
安装
- pip install git+git://github.com/vicalloy/django-ajax-validation.git
- 在Django settings的INSTALLED_APPS中加上”ajax_validation”。
一个简单的使用范例
views.py
from ajax_validation.views import validate_form
from ajax_validation.utils import render_json_response
...
class TimelineForm(forms.ModelForm):
class Meta:
model = Book
def add_book(request):
#创建表单并进行校验。返回表单以及校验结果。
form, validate = validate_form(request, form_class=BookForm)
if validate['valid']:#如果校验成功,执行保持操作
book = form.save()
return render_json_response(validate)//返回JSON
模板
进阶
django-ajax-validation的原始文档就写的非常糟糕,我也偷懒,所以想了解更多还是直接看代码吧。
- timeline-site 中评论功能的AJAX实现。
- django-ajax-validation代码