Il mio suggerimento sarebbe di creare un server di base django separato che fungerà da API del servizio web.
Questo server web utilizzerà rpcdjango che, se utilizzato con qualsiasi metodo come decoratore, lo converte a un metodo callable HTTP.
Dovrai impegnarti di più sulla progettazione del database in modo che non diventi troppo complesso.
Quindi crea la tua singola applicazione web usando qualsiasi tecnologia (preferisco AngularJS e Bootstrap) che si connetterà al server django usando i metodi Ajax.
Ecco un esempio di django rpc4django :
- In primo luogo, devi aggiungere un nuovo pattern URL al tuo file root urls.py . Puoi sostituire r '^ RPC2 $' con qualsiasi cosa desideri.
urls.py
urlpatterns = patterns(’’,
# rpc4django will need to be in your Python path
(r’^RPC2$’, ’rpc4django.views.serve_rpc_request’),
)
- In secondo luogo, aggiungi rpc4django all'elenco delle applicazioni installate in settings.py .
settings.py
INSTALLED_APPS = (
’rpc4django’,
)
- Infine, devi consentire a rpc4django di sapere quali metodi rendere disponibili. Rpc4django importa in modo ricorsivo tutte le app in INSTALLED_APPS e rende qualsiasi metodo importabile tramite __init __. py *** con il decoratore
@rpcmethod
disponibile come metodi RPC. Puoi sempre scrivere i tuoi metodi RPC in un altro modulo e importarlo semplicemente in __init __. Py.
testapp / __ init __. Py
from rpc4django import rpcmethod
# The doc string supports reST if docutils is installed
@rpcmethod(name=’mynamespace.add’, signature=[’int’, ’int’, ’int’])
def add(a, b):
’’’Adds two numbers together
>>> add(1, 2)
3
’’’
return a+b
rpc4django documentation