0
dajaxice를 사용하여 모델 폼의 유효성을 검사하는 제네릭 함수를 만들고 싶습니다. 여기 django - 양식의 유효성을 검사하는 dajaxice 함수 생성 (dajaxice_register 문제)
내가 무슨 짓을 :exafeeds/ajax.py
from django.core.exceptions import ValidationError
from django.utils import simplejson
from dajaxice.decorators import dajaxice_register
def gen_validate_model(models_module):
@dajaxice_register
def validate_model(request, model, fields):
errors = {}
tmp_model = getattr(models_module, model)()
for (field, value) in fields.items():
setattr(tmp_model, field, value)
try:
tmp_model.clean_fields()
except ValidationError, err:
errs = err.message_dict
for field in fields:
errors[field] = errs.get(field)
return simplejson.dumps(errors)
return validate_model
계정/ajax.py
from exafeeds.ajax import gen_validate_model
import accounts.models
validate_model = gen_validate_model(accounts.models)
그리고 JS 전화 :
Dajaxice.accounts.validate_model(check_validity_callback, {
'model': 'User',
'fields': {
'username': username,
'email': email
}
});
하지만 JS 오류가 발생하면 Dajaxice.accounts는 정의되지 않았습니다.
dajaxice_register 데코레이터는 분명히 잘못 배치되었지만 어디에 넣어야합니까?
편집. 나는이 함께 dajaxice_register 데코레이터 대체하려고 :
validate_model = gen_validate_model(accounts.models)
validate_model = dajaxice_register(validate_model)
을하지만 아무것도