Traduzione tra Python-Django e Javascript

1

Ho una domanda concettuale su "tradurre" tra oggetti che ho archiviato in Django (in Postgres) che voglio usare sul front-end. Quindi ho un oggetto utente in Python che contiene elementi base: un id, un nome utente, una password. Diciamo che voglio produrre tutte queste informazioni usando Javascript sul lato client. Posso semplicemente dare a JS un oggetto python e lo trasformerà in un oggetto JS? So che JS è noto per essere "veloce e libero" con la digitazione, ma sembra assurdo!

Non sto cercando la sintassi, ma solo una panoramica di come funzionerebbe. Posso mettere oggetti Python nelle richieste AJAX, quindi tradurli lato client, o sarà una cosa di base sul lato server, spedirli via e ricombinarli sul lato client di cosa?

    
posta Chris 18.12.2011 - 20:25
fonte

2 risposte

2

Puoi serializzare i dati nei tuoi oggetti Python facilmente e usare questo data nel tuo codice Javascript- come alcune altre risposte dicono, JSON per esempio è un sistema abbastanza multi- modo di linguaggio per rappresentare dati che supporta molti linguaggi, tra cui JavaScript (JSON è veramente limitato nella sintassi letterale dell'oggetto Javascript) e Python.

Tuttavia, questi approcci riguardano principalmente dati . Se i tuoi oggetti Python hanno un "comportamento" - cioè, hanno metodi con codice, saranno "persi nella traduzione".

Di 'se hai una classe Python con i dati di una persona (nome, data di nascita) ma con un metodo che calcola l'età della persona (ora - data di nascita), se codifichi un oggetto di questa classe come JSON e lo usi in Javascript, non avrai il metodo "età", dovrai reimplementarlo.

Cioè, la maggior parte dei metodi di comunicazione interlingua contiene "dati" e non "oggetti e classi".

Esistono approcci che tentano di comunicare "oggetti e classi"; per esempio, vedere RMI di Java, che consente di ottenere riferimenti a oggetti remoti e di richiamare metodi da remoto. Tuttavia, queste cose diventano fastidiose, ad esempio, lingue diverse sono buone, diverse e le cose non possono tradurre esattamente al 100%. Inoltre, la semantica dell'invocazione del metodo remoto non è banale e può diventare rapidamente confusa.

    
risposta data 18.12.2011 - 21:31
fonte
2

Si chiama serializzare oggetti python come dati stringa o binari e deserializzare questi oggetti in javascript.

is this going to be a basic break-down-things-on-server-side, ship them off, and recombine them on the client side type of thing?

Sì, lo è.

Can I put Python objects in AJAX requests, then translate them client side

Sì, puoi. L'effettiva suddivisione, spedizione e ricombinazione è così semplice che puoi farlo in una sottile astrazione ajax che prende oggetti python sul server e ti dà oggetti javascript sul client.

    
risposta data 18.12.2011 - 20:49
fonte

Leggi altre domande sui tag