Come dolorosa è una distribuzione di progetto Django a un sito dal vivo (messa in scena)? [chiuso]

StackOverflow https://stackoverflow.com/questions/2434120

  •  19-09-2019
  •  | 
  •  

Domanda

Ho sempre abbastanza veloce con un piccolo progetto Django mio, che sto sviluppando a livello locale, naturalmente. Ma, come non avevo mai lavorato con Django prima, io non sono a conoscenza di ciò che implica per caricarlo e testarlo su un server di produzione. E io sono molto curioso, dato che sono molto ansioso di provare un vivo liberazione anticipata.

So che c'è questo documento, che penso che sarà veramente utile: http: / /djangobook.com/en/2.0/chapter12/

Ma, ci sono alcuni dettagli che dovrebbero tener conto prima, durante e dopo la distribuzione? Tutto il consiglio o le migliori pratiche?

Grazie.

È stato utile?

Soluzione

Fai il tuo ambiente di sviluppo / testing corrispondono più fedelmente l'ambiente di distribuzione il più possibile. Ciò significa usare ad esempio PostgreSQL e mod_wsgi invece di SQLite e il server integrato. Questo software è gratuito quindi non c'è ragione per cui non è possibile mettere le mani su di esso.

Altri suggerimenti

Usa qualcosa come sud per rimuovere i dolori di migrazione di database, e prendere in considerazione qualcosa di simile a buildout o tessuto per la distribuzione, se si dispone di un progetto ragionevolmente complesso (o hanno il tempo di imparare questi strumenti), in quanto permetteranno implementazioni script facilmente riproducibili.

Si potrebbe incorrere in problemi se servite il vostro sito in una sottodirectory di un dominio: evitare di scrivere URL assoluti a mano, utilizzare il tag url .

Se si basano su dati iniziali nel database, utilizzare infissi .

Se verrà utilizzato il server per più siti, considerare il confezionamento tuo sito con virtualenv per evitare le dipendenze conflitti con gli altri siti.

Si dovrebbe anche utilizzare lo stesso sistema di database nei server dev e di produzione per evitare sorprese.

Penso che un sacco appeso al cambiamento del modello di database. Django può aggiungere nuove colonne con syncdb, o generare uno script per farlo, ma non rimuoverà le colonne e non credo sarà rimuovere i vincoli di chiave dal database, anche se esse non si applicano più.

Quindi, la migrazione di database potrebbe essere meglio fatto sceneggiato, e testato su una copia del database di produzione o di alcuni set di dati molto somiglianti dati di produzione (lo stesso schema, naturalmente).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top