Sto creando un semplice CMS basato su piramide che utilizza l'attraversamento. Esiste una classe denominata Collection
, che ha alcune sottoclassi come NewsCollection
, GalleriesCollection
ecc.È possibile utilizzare una vista configurata per la superclasse se in Pyramid è stata configurata una vista per una classe?
Ho bisogno di due tipi di viste per visualizzare queste raccolte. La vista frontend, html e il backend, json view (il pannello di amministrazione usa dgrid per visualizzare i dati). La vista back-end può essere generica, in ogni caso scarica i dati JSON. La vista frontend non dovrebbe - ci sarà un modello personalizzato per ogni tipo di dati.
Il problema è: quando configuro vista in questo modo:
@view_config(context=Collection, xhr=True, renderer='json', accept='application/json')
funziona correttamente. Tuttavia, non appena aggiungo una qualsiasi vista configurata per NewsCollection
, questa ha la precedenza. Anche se inserisco i predicati specificamente in conflitto con la configurazione precedente (ad esempio), la vista sopra riportata non verrà ancora chiamata. Invece otterrò un 'errore di predicato'.
La mia domanda è - Posso fare qualcosa per rendere la vista configurata per Collection
essere chiamato quando ci sono anche viste per NewsCollection
? O devo usare un altro design (come url dispatch o aggiungere la stessa vista più volte per diversi tipi di risorse)