2012-06-12 14 views
7

Voglio usare Compass per semplificare il compito di scrivere CSS nella mia app Django. Ma non so come configurarlo.Django e bussola con più app

vedo django-compressore ha il supporto per SASS, ma al fine di utilizzare la bussola avevo bisogno di eseguire il dump dei file _*.scss nel mio lavoro (Django 1.4) dato che è la directory di lavoro quando django-compressore gira scss comandi.

Eric Meyer's approach sembra ragionevole (compilare .scss file a .css durante lo sviluppo e si impegnano a SCM), ma non è ovvio come posso utilizzare gli strumenti SASS/Compass per compilare .scss in molteplici applicazioni (sia riutilizzabile e non riutilizzabili) in una Django spazio di lavoro.

Memorizzo file statici di fogli di stile per ogni app in <app>/static/<app>/css/.

Le questioni che ho sono questo:

  1. @import non funziona apps attraverso
  2. Mettere _*.scss file nello spazio di lavoro è inaccettabile
  3. Esecuzione compass watch nell'area di lavoro viene a mancare con:

    Niente da compilare. Se stai provando ad avviare un nuovo progetto, hai lasciato l'argomento della directory.

  4. Utilizzando @include background(...) fallisce:

    Errore di sintassi: operazione non definita: "-compass-list-size (compatte (#CCCCCC, false, false, false, false, false, false, false, false, false)) gt 1"

+0

I file _ *. Scss sono parziali? In tal caso, perché non dovrebbero essere inclusi nello spazio di lavoro? – stellarchariot

risposta

0

forse si può utilizzare uno strumento come Fabric (o anche uno script bash) a che fare con la compilazione e la collocazione di file. Per quanto riguarda il comando compass watch, potrebbe essere necessario fornire manualmente parametri aggiuntivi per la posizione dei file .scss e .css in modo che questo possa essere modificato correttamente con watch (consultare i documenti di aiuto eseguendo compass help watch).

1

Ho trovato molto più semplice separare Django da Sass. Puoi ancora usarli contemporaneamente, ma potrebbe richiedere un'altra finestra di terminale. Alla fine si tratta comunque di servire gli asset compilati.

Normalmente configuro il mio progetto con una directory/src/nella radice, che è il punto in cui posiziono i miei file Sass. Ho anche creato un progetto Compass in quella directory radice con i fogli di stile compilati che vanno in/static/css /.

Ovviamente questo può diventare problematico se avete un sacco di applicazioni all'interno del progetto come ci si sia desidera creare directory dell'applicazione all'interno della root/static/o creare un altro progetto Compass in/

Normalmente, io uso Grunt per compilare i miei file Sass/Compass, quindi è un po 'più complicato, anche se facile da ricreare.

Il post di Frank Wiles Ultimate Front End Development Setup è abbastanza vicino a come ho impostato i miei progetti, anche se salto usando django-compressor perché ritengo che l'aggiunta di middleware non sia necessaria, e ovviamente utilizzo Grunt anziché Gulp.