Domanda

Semplice domanda sull'estensione della mia applicazione

Diciamo che ho una "applicazione principale", e in questa applicazione ho quanto segue nel file _init_.py:

config.add_route('image_upload', '/admin/image_upload/', 
    view='mainapp.views.uploader',
    view_renderer='/site/upload.mako')

E in The Views.py ho:

def uploader(request):
    # some code goes here
    return {'xyz':xyz}

Ora, quando creo una nuova applicazione e voglio estenderla, per utilizzare la vista e il percorso sopra:

Nella nuova applicazione _init_.py File coprei manualmente il codice config.add_route:

config.add_route( 'image_upload', '/admin/image_upload/', 
   view='mainapp.views.uploader', 
   view_renderer='mainapp:templates/site/upload.mako'
 )

Ed è tutto ciò che avrei bisogno di fare? Da questo la mia applicazione sarebbe in grado di utilizzare la vista e il modello dall'applicazione principale o mi manca qualcos'altro?

Grazie per aver letto!

È stato utile?

Soluzione

Non devi copiare il tuo codice per farlo. Utilizzare il Configurator.include Metodo per includere la configurazione "Applicazione principale" nella nuova applicazione. La documentazione spiega abbastanza bene entrambi qui e qui, ma essenzialmente, se dichiari la configurazione delle app principali all'interno di una callabile:

def main_app_config(config):

    config.add_route('image_upload', '/admin/image_upload/', 
    view='mainapp.views.uploader',
    view_renderer='/site/upload.mako')

Quindi puoi includere la tua app principale nella configurazione della nuova app come questa:

from my.main.app import main_app_config

# do your new application Configurator setup, etc.
# then "include" it.

config.include(main_app_config)

# continue on with your new app configuration
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top