我的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 –