[PYTHON] Utilisez LESS avec Django

Installation

Tout d'abord, installez node.js et lessc. Gununu.

$ brew install node
$ npm install -g less

$ which lessc
/usr/local/bin/lessc

$ lessc
lessc: no input files

usage: lessc [option option=parameter ...] <source> [destination]
...

J'ai pu l'installer!

Édition Watcher avec PyCharm (recommandé)

Si vous utilisez PyCharm, nous le recommandons car il peut simplifier la compilation automatique.

Commencez par créer un fichier avec l'extension .less.

Ensuite, il vous sera automatiquement demandé "S'inscrire avec File Watcher?", Donc ajoutez immédiatement watcher.

スクリーンショット 2015-12-22 10.46.30.png

Ensuite, la fenêtre d'enregistrement Less watcher apparaîtra.

スクリーンショット 2015-12-22 10.46.56.png

Puisqu'il reconnaît le lessc que vous avez installé précédemment, cliquez simplement sur OK.

Maintenant que l'observateur fonctionne, modifiez moins et enregistrez-le pour créer automatiquement le css. Facile!

スクリーンショット 2015-12-22 10.48.30.png

↑ Bien que cela ressemble à une structure hiérarchique à l'écran, CSS est automatiquement créé dans le même répertoire.

Conversion en ligne avec le compresseur Django

$ pip install django-compressor

Ajout de compresseur à ʻINSTALLED_APPS`

Pour référence, jetez un œil au fichier HTML Django oscar

layout.html


    {% compress css %}
      {% if use_less %}
        <link rel="stylesheet" type="text/less" href="{% static "oscar/less/styles.less" %}" />
      {% else %}
        <link rel="stylesheet" type="text/css" href="{% static "oscar/css/styles.css" %}" />
      {% endif %}
    {% endcompress %}

Ça ressemble à ça. Pour use_less, settings.USE_LESS est utilisé tel quel.

Dans cet état, dans les paramètres

settings.py


COMPRESS_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'compressfiles')

USE_LESS = True

COMPRESS_ENABLED = True

COMPRESS_PRECOMPILERS = (
    ('text/less', 'lessc {infile} {outfile}'),
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder'
)

Avec ce paramètre, less dans le bloc css compless sera construit ensemble.

Ceci est également utile car vous n'avez pas à vous soucier de sa construction, comme vous le feriez avec PyCharm.

Référence: Paramètres - Documentation Django Compressor 1.6

Conversion hors ligne avec la commande de gestion du compresseur Django

Lors de la compilation avec des commandes de gestion, en plus des paramètres ci-dessus

settings.py


COMPRESS_OFFLINE = True

COMPRESS_OFFLINE_CONTEXT = {
    'STATIC_URL': STATIC_URL,
    'use_less': USE_LESS,
}

Ajoutez ce paramètre supplémentaire. avec ça,

$ ./manage.py compress

Compilera désormais moins.

Référence: [Comment changer l'apparence d'Oscar - documentation django-oscar 1.1] (http://django-oscar.readthedocs.org/en/releases-1.1/howto/how_to_handle_statics.html)

Recommended Posts

Utilisez LESS avec Django
Utiliser Gentelella avec Django
Utiliser MySQL avec Django
Utilisez prefetch_related commodément avec Django
[Django] Utiliser MessagePack avec le framework Django REST
Utiliser les pictogrammes Unicode 6.0 avec django / MySQL
Internationalisation avec Django
CRUD avec Django
Django 1.11 a démarré avec Python3.6
Utilisez mecab-ipadic-neologd avec igo-python
Résumé du développement avec Django
Utilisez RTX 3090 avec PyTorch
Utiliser ansible avec cygwin
Utiliser pipdeptree avec virtualenv
Sortie PDF avec Django
[Python] Utiliser JSON avec Python
Utilisez Mock avec pytest
Sortie Markdown avec Django
Utiliser l'indicateur avec pd.merge
Twitter OAuth avec Django
Utiliser mecab avec Python 3
Utiliser tensorboard avec Chainer
Utiliser DynamoDB avec Python
Utiliser pip avec MSYS2
Premiers pas avec Django 1
Envoyer des e-mails avec Django
Utilisez Python 3.8 avec Anaconda
Utiliser les droits d'auteur avec Spacemacs
Utiliser TypeScript avec django-compresseur
La mutualisation mécanise avec Django
Utiliser Enum avec SQLAlchemy
Utilisez Python / Django avec Windows Azure Cloud Service!
Utiliser tensorboard avec NNabla
Utiliser le GPS avec Edison
Django à partir d'aujourd'hui
Premiers pas avec Django 2
Utilisez nim avec Jupyter
Faites Django avec CodeStar (Python3.6.8, Django2.2.9)
Utiliser la mémoire partagée avec une bibliothèque partagée
Utiliser des balises personnalisées avec PyYAML
Utiliser des graphiques directionnels avec networkx
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Utiliser TensorFlow avec Intellij IDEA
Environnement de site Web de configuration minimale avec django
Créer une API avec Django
Utiliser l'API Twitter avec Python
Utiliser pip avec Jupyter Notebook
Faites Django avec CodeStar (Python3.8, Django2.1.15)
Déployer Django sans serveur avec Lambda
Python3 + Django ~ Mac ~ avec Apache
Utiliser DATE_FORMAT avec le filtre SQLAlchemy
Utiliser TUN / TAP avec Python
Utilisez sqlite3 avec NAO (Pepper)
Créer une page d'accueil avec django
Utilisez les load_extensions de sqlite avec Pyramid
Lancez-vous avec Django! ~ Tutoriel ④ ~
Premiers pas avec Python Django (4)
Utiliser les polices Windows 10 avec WSL
Créer une application Web avec Django
Utilisation du chainer avec Jetson TK1