我的URL正则表达式是r'^admin.*/static/admin/(?P<path>.*)$'
,现在它可以匹配admin/static/admin/css/base.css
或admin/123/static/admin/js/actions.js
,但我想它匹配的网址像admin/blog/post/static/static/admin/js/actions.js
(现在它不匹配)正则表达式
我怎么能这样做呢?
感谢大家的意见。
我的问题是我设置静态URL路径在Django存储我的CSS/JS文件,这样url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT,}),
settings.STATIC_ROOT是os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static')
但是,当我访问管理界面,所有的CSS/JS文件丢失。因为在django\contrib\admin\static\admin
管理CSS文件存储和在HTML文件的URL是“静态/管理/ CSS/base.css”。在我设置的静态路径中没有这个文件。
我的解决方案是设置另一个url,如r'^admin.*/static/admin/(?P<path>.*)$'
,并将文档根设置为django admin静态文件路径。但正如我所提到的,当我去管理主页,一切都很好,当我深深地喜欢“添加用户”页面时,css文件仍然缺失。
我还发现一个解决方案是改变我的URL常规r'.*/static/admin/(?P<path>.*)$'
,这对一切都很好,但有没有更好的解决方案?
我运行collectstatic后,在我的静态路径中,我可以找到admin文件夹及其css/js文件。然后我把我的URL路径URL(R '^管理员/静态/(P *)$?', 'django.views.static.serve',{'document_root':settings.STATIC_ROOT}),它适用于主管理页面,但是当我访问http://localhost/admin/sites/site/static/static/admin/js/admin/RelatedObjectLookups.js
它仍然不起作用,我怎么能写我的url路径?
什么是你正在试图解决这个问题? –
为什么要这样做,你是字符串将静态文件放入您的网页模板? –
我不知道为什么这不匹配,我只是逃过了斜杠,删除了捕获组的名称,它对我有用http://www.rubular.com/r/DlxE1mejvL –