Ho una pagina (situata in/games/compare /) ed è un mini gioco di confronto di immagini. Gli utenti sono mostrati due immagini e chiesto di scegliere tra di loro in risposta a una domanda. Questa pagina può ottenere immagini dal database, renderizzare un modello con javascript e css all'interno e comunicare di nuovo al database usando AJAX.Inserisci la pagina Flask in un'altra senza duplicazione del codice?
E se volessi incorporare questo gioco di voto nella pagina principale senza duplicare alcun codice? Idealmente, aggiornerei il gioco e tutte le pagine che "caratterizzano" il gioco rifletteranno anche i cambiamenti.
Mi sto impiccando su come gestire le risorse per l'intero sito in modo coerente e organizzato. Alcune pagine hanno css, javascript e sto anche usando framework come bootstrap e un framework GIS.
Vorrei impostare il gioco come un progetto? Come organizzerei le risorse (Javascript e CSS) in modo che non ci siano duplicazioni?
Attualmente, ho una pagina che mostra un modello (main.html) che ne estende un altro (base.html). Base.html include header.html, nav.html e footer.html con i blocchi impostati per il corpo e altri.
Il mio attuale approccio consiste nel rimuovere tutto al livello più basso e riassemblarlo a un livello comune più alto, il che rende la codifica molto lenta. Ad esempio, ho quel gioco di voti e in questo momento si trova in una pagina chiamata voting_game.html e ha tutto il necessario per giocare (html a pagina intera, stili e javascript inclusi). Ora, se voglio includere quel gioco su un'altra pagina, come l'indice root, l'unica soluzione che conosco è quella di rimuovere lo stile, js e la pagina intera html da voting_game.html, lasciando solo l'html necessario per il gioco . Quando creo l'indice ora, importerò l'html da voting_game.html ma dovrò importare separatamente lo stile e il javascript. Ciò significa che devo costruire ogni pagina due volte, il doppio del lavoro che devo fare. Questo processo lascia anche pochi file dappertutto, dato che sono costantemente in fase di refactoring e rende lo sviluppo solo un incubo di contabilità.
Ci deve essere un modo per farlo e rimanere organizzati ma ho bisogno del tuo aiuto per capire il modo migliore per farlo.
Grazie,
Phil
Edit: la pagina nascosta dovrebbe anche essere in grado di comunicare con la sua pagina padre (quello che viene incorporato in), o con altri pagine incorporate all'interno dello stesso genitore (i figli di un genitore dovrebbero essere in grado di parlare.Quindi, quando qualcuno gioca il gioco incorporato, guadagnano punti, che dovrebbero apparire su un'altra pagina altra parte, che si aggiornerebbe rispecchiando i punti correnti degli utenti
Questo "tabellone" sarebbe anche un widget/pagina/progetto separato che può essere incorporato e cercherà determinati pezzi dei dati per funzionare.