Mon URL expression régulière est r'^admin.*/static/admin/(?P<path>.*)$'
, maintenant il peut correspondre admin/static/admin/css/base.css
ou admin/123/static/admin/js/actions.js
, mais je veux correspondre à l'url admin/blog/post/static/static/admin/js/actions.js
(maintenant il ne correspond pas)expressions régulières dans django url
Comment pourrais-je faire cela?
Merci pour les commentaires de tout le monde.
Mon problème est que je mis en place chemin url statique dans django pour stocker mon css/js, comme celui-ci url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT,}),
settings.STATIC_ROOT est os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static')
Mais quand j'accéder à l'interface d'administration, tous les css/fichiers js sont manquant . car le fichier admin css stocke dans django\contrib\admin\static\admin
et son URL dans le fichier html est 'static/admin/css/base.css'. il n'y a pas ce fichier dans mon chemin statique que j'ai défini dans les paramètres.
Ma solution est définie une autre URL comme r'^admin.*/static/admin/(?P<path>.*)$'
, et définir la racine du document sur le chemin du fichier statique de l'administrateur django. mais juste comme je l'ai mentionné, quand je vais la page principale d'administration, tout est ok, mon quand je vais profondément comme page "ajouter l'utilisateur", le fichier css est toujours manquant.
J'ai également trouvé une solution est de changer mon URL régulier à r'.*/static/admin/(?P<path>.*)$'
, c'est bien pour tout, mais y at-il une meilleure solution? Après avoir exécuté collectstatic, dans mon chemin statique, je peux trouver le dossier admin et ses fichiers css/js. alors j'ai mis mon chemin d'URL à l'URL (r '^ admin/static/(? P. *) $', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),, il fonctionne pour la page d'administration principale, mais quand j'accède à http://localhost/admin/sites/site/static/static/admin/js/admin/RelatedObjectLookups.js
cela ne fonctionne toujours pas, comment pourrais-je écrire mon chemin d'URL?
Quel est le problème que vous essayez de résoudre? –
Pourquoi faire ceci, êtes-vous une chaîne pour mettre des fichiers statiques dans vos modèles web? –
Je ne sais pas pourquoi cela ne correspond pas, je viens d'échapper les barres obliques, enlevé le nom du groupe de capture et cela fonctionne pour moi sur http://www.rubular.com/r/DlxE1mejvL –