Bug #5181
Do not copy jQuery
0%
Description
Use jQuery CDN and link to non-minified version when debug
is True.
Fichiers
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
- Fichier 0001-template-use-jQuery-from-CDN.patch 0001-template-use-jQuery-from-CDN.patch ajouté
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a plus de 9 ans
Je me suis encore retrouvé à devoir travailler sans connexion internet récemment (avions, trains…) du coup je préférerais conserver une copie locale.
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Ce que je te propose c'est que la version non minifiée de debug soit locale, ce serait bon ?
Mis à jour par Frédéric Péters il y a plus de 9 ans
Ça me va qu'en mode debug le js ne soit pas minifié, mais j'aimerais quand même garder la possibilité de ne pas utiliser de CDN, debug ou pas; ça t'irait d'ajouter un paramètre settings.USE_JQUERY_CDN, plutôt que de se baser sur DEBUG ?
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Ce n'est pas évident, les settings ne sont pas exportés dans les templates et donc pour réagir à ce nouveau setting il faudra soit un context_processor soit un template tag. En attendant je laisse ce patch de coté je vais commiter les autres.
Mis à jour par Frédéric Péters il y a plus de 9 ans
À revenir là-dessus, ce qui est à utiliser, c'est xstatic, qui est le truc d'openstack, en utilisant django-xstatic pour faire le pont, ça donne un truc comme ça :
- ajouter django_xstatic.finders.XStaticFinder à STATICFILES_FINDERS ;
- ajouter xstatic.pkg.jquery, xstatic.pkg.jquery_ui, etc. à INSTALLED_APPS (il y a toute une collection dispo, https://pypi.python.org/pypi?%3Aaction=search&term=xstatic)
Ça met les fichiers directement sous /static/, perso je les préférerais dans un sous-répertoire, mais c'est un détail.
Ensuite, dans les métadonnées des paquets xstatic, il y a aussi les infos de CDN, et ça pourrait être utilisé mais je n'ai pas regardé cette partie.
Mis à jour par Frédéric Péters il y a plus de 9 ans
Benjamin, tu penses quoi de partir sur xstatic ? Si ça te va, je peux m'occuper d'un patch.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-Use-xstatic-packages-instead-of-shipping-common-libr.patch 0001-Use-xstatic-packages-instead-of-shipping-common-libr.patch ajouté
- Statut changé de Nouveau à En cours
Voilà le patch pour utiliser les modules xstatic; j'ai préféré ne pas ajouter de dépendance à django-xstatic et de plutôt recopier et adapter son code de recherche des fichiers statiques (que je voulais modifier pour préfixer en /xstatic/).
Pour reprendre le README.txt :
Configuration ============= You should add gadjo.finders.XStaticFinder to STATICFILES_FINDERS, STATICFILES_FINDERS = ( "django.contrib.staticfiles.finders.FileSystemFinder", "django.contrib.staticfiles.finders.AppDirectoriesFinder", "gadjo.finders.XStaticFinder", ) There is a CDNS settings, that can contain a list of (cdn name, protocol) tuples; for example: CDNS = [('google', 'https')] Usage ===== Make your application base template {% extends "gadjo/base.html" %}. Additional static files libraries can be added via INSTALLED_APPS, for example 'xstatic.pkg.jquery_tablesorter'; its static files can then be referred in a template using the xstatic template tag: {% xstatic 'jquery_tablesorter' 'jquery.tablesorter.js' %}
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Ça me semble ok par contre si je comprends bien ce n'est pas rétro-compatible, il va falloir ajouter xstatic.*.jquery{-ui} aux INSTALLED_APPS des applications qui utilisent gadjo avant de déployer la nouvelle version des templates gadjo partout.
Mis à jour par Frédéric Péters il y a plus de 9 ans
Il va falloir ajouter le static finder; pour les xstatic*jquery, ceux utilisés par gadjo sont hardcodés dans le finder, justement pour ne pas devoir être ajoutés.
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Ok, mais dans ce cas il va quand même falloir ajouter les xstatic.pkg.{jquery,jquery_ui,font_awesome}
aux dépendances dans le setup.py de gadjo et demander à Jérôme de les packager aussi pour que tout s'installe sans dépendances manquantes.
Mis à jour par Frédéric Péters il y a plus de 9 ans
Oui pour le setup.py; pour les paquets, pour info ils sont en création dans Debian (ex: https://bugs.debian.org/756734), et il y a moyen d'en tirer depuis les dépôts openstack (ex: http://archive.gplhost.com/debian/pool/juno/main/p/python-xstatic-jquery/).
Pour le setup.py, tu vois autre chose que ça : ?
+ install_requires=[ + 'XStatic', + 'XStatic_Font_Awesome', + 'XStatic_jQuery', + 'XStatic_jquery_ui', + ],
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Frédéric Péters a écrit :
Oui pour le setup.py; pour les paquets, pour info ils sont en création dans Debian (ex: https://bugs.debian.org/756734), et il y a moyen d'en tirer depuis les dépôts openstack (ex: http://archive.gplhost.com/debian/pool/juno/main/p/python-xstatic-jquery/).
Ok ticket ouvert #5301.
Pour le setup.py, tu vois autre chose que ça : ?
[...]
Non c'est bon.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de En cours à Résolu (à déployer)
Je viens de pousser le tout.
Il y a un paquet python-gadjo sur passerelle-test, je l'ai mis "on hold" pour le moment, en attendant qu'une mise à jour de passerelle y soit possible.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Statut changé de Résolu (à déployer) à Solution déployée
- % réalisé changé de 0 à 100
J'ai corrigé le soucis dont on a parlé ce matin. : C'était pour le ticket #5301
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Statut changé de Solution déployée à Résolu (à déployer)
- % réalisé changé de 100 à 0
Mis à jour par Frédéric Péters il y a plus de 7 ans
- Statut changé de Résolu (à déployer) à Fermé