Gerar objetos JavaScript fora do Django Models

votos
5

Eu estou fazendo um monte de trabalho JavaScript no navegador e gostaria de ter alguns dos que a funcionalidade back-end no front-end. Especificamente, seria bom ter as funções get(), save(), all()e count()disponível para o cliente. Além disso, seria ótimo ter a lista de campos do modelo já está disponível no objeto JavaScript gerado.

Se o usuário atual pode ler ou gravar os registros é uma questão separada que irá lidar com o uso de autenticação do Django. Por enquanto, a recuperação seria um começo.

Em suma, existe código que iria gerar um modelo de JavaScript de um modelo de Django?

Obrigado.

Publicado 14/10/2008 em 18:46
fonte usuário
Em outras línguas...                            


5 respostas

votos
7

Parece que você está procurando um interface de JavaScript completa para as APIs modelo e queryset. Eu não posso imaginar que isso já foi feito ou até mesmo ser uma tarefa simples. Não só você precisa gerar alguma forma instâncias JavaScript de modelos (muito mais do que serialização JSON fornece, desde que você também quer os métodos), mas você precisa para expor um serviço web que pode lidar com cada tipo de chamada DB-API. Eu não posso sequer começar a imaginar por onde começar e as questões de segurança pode ser muito numerosas para facilmente superada.

A abordagem alternativa (e mais simples) seria usar um dos vários módulos Django descanso e JSON serialização. Você pode executar uma solicitação GET AJAX em um recurso, que pode ser identificado por uma série de parâmetros de consulta que seria equivalente a filtros queryset acorrentados. Este voltaria a representação JSON de valores do modelo. Você pode então modificar o objeto JavaScript e usar uma solicitação AJAX POST sobrecarregado a persistir as alterações de volta para o servidor. Você não teria acesso aos métodos do modelo, de modo que a funcionalidade teria que ser reimplantado, mas de fazer quaisquer alterações em um modelo deve ser bastante simples - Este é basicamente o equivalente JavaScript de usar um formulário HTML para modificar dados.

Respondeu 14/10/2008 em 22:48
fonte usuário

votos
1

Eu comecei um projeto que eu acho que faz exatamente o que você está procurando. Você pode encontrá-lo em github_bumby_jslib .
Ele atualmente suporta apenas get (), mas eu estou esperando para estender isso em breve. Sinta-se livre para contribuir com correções :)

jslib é uma aplicação Django com o objetivo de simplificar a integração AJAX com seus projetos Django.

Respondeu 27/01/2010 em 13:02
fonte usuário

votos
1

Você precisa de um serializer dados. Você pode fazê-lo com django construído em serializers. Ele está documentado no site oficial do Django. djangoproject_topics-serialização

Respondeu 14/10/2008 em 20:42
fonte usuário

votos
0

Então tem sido um tempo desde que eu postei a pergunta original e, desde então, tem havido uma série de desenvolvimentos em Djangoland. Não menos do que é uma grande pequena biblioteca chamada Django RESTO Framework. Vou usá-lo em um novo projeto e ele está olhando muito fixe.

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

Respondeu 23/07/2015 em 21:10
fonte usuário

votos
0

Parece que você quer JSON codificar seus dados do objeto. Veja JSON.org para saber mais sobre o formato de dados.

Respondeu 14/10/2008 em 18:50
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more