문제

브라우저에서 많은 JavaScript 작업을 수행하고 있으며 프론트 엔드에서 그 백엔드 기능 중 일부를 갖고 싶습니다. 구체적으로 기능을 갖는 것이 좋을 것입니다. get(), save(), all() 그리고 count() 고객이 사용할 수 있습니다. 또한 생성 된 JavaScript 객체에서 이미 모델의 필드 목록을 사용할 수있는 것이 좋습니다.

현재 사용자가 레코드를 읽거나 쓸 수 있는지 여부는 Django의 인증을 사용하여 다루는 별도의 문제입니다. 당분간 검색은 시작이 될 것입니다.

요컨대, Django 모델에서 JavaScript 모델을 생성하는 코드가 있습니까?

감사.

도움이 되었습니까?

해결책

모델 및 쿼리 세트 API에 대한 완전한 JavaScript 인터페이스를 찾고있는 것 같습니다. 나는 이것이 끝났거나 심지어 간단한 일이되었을 것이라고 상상할 수 없습니다. 어떻게 든 JavaScript 모델 인스턴스를 생성해야 할뿐만 아니라 (방법을 원하기 때문에 JSON 직렬화가 제공하는 것보다 훨씬 더 많음) 모든 종류의 DB-API 호출을 처리 할 수있는 웹 서비스를 노출해야합니다. 어디서부터 시작 해야할지 상상조차 할 수 없으며 보안 문제가 쉽게 극복하기에는 너무 많을 수 있습니다.

대안 (그리고 훨씬 간단한) 접근법은 다양한 Django REST 모듈과 JSON 직렬화 중 하나를 사용하는 것입니다. 자원에 대한 AJAX GET 요청을 수행 할 수 있는데, 이는 체인 쿼리 세트 필터와 동등한 일련의 쿼리 매개 변수로 식별 할 수 있습니다. 이것은 모델의 값의 JSON 표현을 반환합니다. 그런 다음 JavaScript 객체를 수정하고 과부하 된 AJAX Post 요청을 사용하여 변경 사항을 서버로 다시 유지할 수 있습니다. 모델의 메소드에 액세스 할 수 없으므로 기능을 다시 구현해야하지만 모델을 변경하는 것은 충분히 간단해야합니다. 이는 기본적으로 HTML 양식을 사용하여 데이터를 수정하는 것과 동일합니다.

다른 팁

데이터 시리얼 라이저가 필요합니다. Serializer에 내장 된 Django로 수행 할 수 있습니다. 공식 Django 사이트에 문서화되어 있습니다. djangoproject_topics-serialization

나는 당신이 찾고있는 일을 정확하게 생각하는 프로젝트를 시작했습니다. 당신은 그것을 찾을 수 있습니다github_bumby_jslib.
그것은 현재 get () 만 지원하지만 곧 이것을 확장하기를 바라고 있습니다. 패치를 자유롭게 기여하십시오 :)

JSLIB는 Django 프로젝트와의 Ajax 통합을 단순화하기위한 Django 응용 프로그램입니다.

당신이 원하는 것 같습니다 JSON 인코딩 객체 데이터. 보다 json.org 데이터 형식에 대한 자세한 내용.

그래서 원래 질문을 게시 한 지 오래되었으며 그 이후로 장고에는 여러 발전이있었습니다. 적어도 그 중 Django Rest Framework라는 훌륭한 작은 라이브러리입니다. 나는 새로운 프로젝트에서 그것을 사용할 것이고 그것은 예쁜 kewl처럼 보입니다.

http://www.django-rest-framework.org

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top