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.
Related issues
History
Updated by Frédéric Péters over 2 years ago
C'est quoi "l'enregistrement des fichiers statiques" ?
(j'ai combo qui marche très bien en local avec gadjo sans modif)
Updated by Paul Marillonnet over 2 years ago
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'
Updated by Frédéric Péters over 2 years ago
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).
Updated by Frédéric Péters over 2 years ago
- Related to Development #64434: retirer la gestion d'un hypothétique settings.CDNS de {% xstatic %} added
Updated by Paul Marillonnet over 2 years ago
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.
Updated by Paul Marillonnet over 2 years ago
- Status changed from Nouveau to 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.