Development #64433
avoir un module gadjo.utils pour l’enregistrement des fichiers xstatic
0%
Description
qui est déjà ce que fait la balise de gabarit gadjo.templatetags.gadjo.xstatic
, sauf que celle-ci est actuellement chargée dans les settings d’authentic ce qui déplaît à django à partir de la version 3.
Pour que le chargement se passe sans souci, il faut un sous-module gadjo.utils à part et qui ne soit pas une bibliothèque de filtres et de balises.
Demandes liées
Historique
Mis à jour par Frédéric Péters il y a environ 2 ans
C'est quoi "l'enregistrement des fichiers statiques" ?
(j'ai combo qui marche très bien en local avec gadjo sans modif)
Mis à jour par Paul Marillonnet il y a environ 2 ans
Mal exprimé, pardon, c’est le fait d’avoir recours à cette balise dans les settings d’a2 :
from gadjo.templatetags.gadjo import xstatic
# […]
# Get select2 from local copy.
SELECT2_JS = xstatic('select2', 'select2.min.js')
SELECT2_CSS = xstatic('select2', 'select2.min.css')
que django3 n’aime pas du tout :
Traceback (most recent call last): File "/tmp/tox-paul/authentic/authentic-py3-dj32-drf312-djtables211/lib/python3.10/site-packages/pytest_django/plugin.py", line 179, in _handle_import_error yield File "/tmp/tox-paul/authentic/authentic-py3-dj32-drf312-djtables211/lib/python3.10/site-packages/pytest_django/plugin.py", line 351, in pytest_load_initial_conftests dj_settings.DATABASES File "/tmp/tox-paul/authentic/authentic-py3-dj32-drf312-djtables211/lib/python3.10/site-packages/django/conf/__init__.py", line 87, in __getattr__ self._setup(name) File "/tmp/tox-paul/authentic/authentic-py3-dj32-drf312-djtables211/lib/python3.10/site-packages/django/conf/__init__.py", line 74, in _setup self._wrapped = Settings(settings_module) File "/tmp/tox-paul/authentic/authentic-py3-dj32-drf312-djtables211/lib/python3.10/site-packages/django/conf/__init__.py", line 183, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) […] File "/home/paul/src/authentic/src/authentic2/settings.py", line 23, in <module> from gadjo.templatetags.gadjo import xstatic ModuleNotFoundError: No module named 'gadjo'
Mis à jour par Frédéric Péters il y a environ 2 ans
Ok vu c'est parce qu'authentic appelle xstatic() pour ainsi donner la version locale des css/js à django-select2, plutôt que lui laisser tirer ça d'un CDN.
Pourquoi ne pas juste écrire /static/xstatic/select2.min.js dans le fichier settings.py ?
(et je fais un ticket ici pour virer la gestion CDNs dans le templatetag xstatic, ce n'est pas quelque chose qu'on utilise).
Mis à jour par Frédéric Péters il y a environ 2 ans
- Lié à Development #64434: retirer la gestion d'un hypothétique settings.CDNS de {% xstatic %} ajouté
Mis à jour par Paul Marillonnet il y a environ 2 ans
Frédéric Péters a écrit :
Ok vu c'est parce qu'authentic appelle xstatic() pour ainsi donner la version locale des css/js à django-select2, plutôt que lui laisser tirer ça d'un CDN.
Pourquoi ne pas juste écrire /static/xstatic/select2.min.js dans le fichier settings.py ?
Oui ok, je voyais un peu d’intelligence dans le code de cette balise, je n’étais pas sûr qu’on puisse taper quelque en dur comme ça dans le settings d’a2, je vais essayer cela.
Mis à jour par Paul Marillonnet il y a environ 2 ans
- Statut changé de Nouveau à Rejeté
Pourquoi ne pas juste écrire /static/xstatic/select2.min.js dans le fichier settings.py ?
Oui ok, je voyais un peu d’intelligence dans le code de cette balise, je n’étais pas sûr qu’on puisse taper quelque en dur comme ça dans le settings d’a2, je vais essayer cela.
Ok, ça m’a l’air bon. Merci pour #64434, je rejette ce ticket-ci.