私の URL の正規表現は ですr'^admin.*/static/admin/(?P<path>.*)$'
。これでadmin/static/admin/css/base.css
またはadmin/123/static/admin/js/actions.js
と一致するようになりましたが、URL のように一致させたいadmin/blog/post/static/static/admin/js/actions.js
(現在は一致しません)
どうすればそれができますか?
みんなのコメントをありがとう。
私の問題は、このurl(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT,}),
設定のように、django に静的 URL パスを設定して css/js ファイルを保存することです。STATIC_ROOT はos.path.join(os.path.dirname(os.path.abspath(__file__)), 'static')
しかし、管理インターフェイスにアクセスすると、すべての css/js ファイルが見つかりません。admin css ファイルdjango\contrib\admin\static\admin
は html ファイルに保存され、その URL は 'static/admin/css/base.css' であるためです。設定で設定した静的パスにこのファイルはありません。
私の解決策は、のような別の URLr'^admin.*/static/admin/(?P<path>.*)$'
を設定し、ドキュメント ルートを django admin 静的ファイル パスに設定することです。しかし、私が言ったように、管理者のメインページに行くと、すべて問題ありません.「ユーザーの追加」ページのように深く行くと、cssファイルがまだありません.
また、解決策は私のURLを定期的に変更することであることがわかりましたr'.*/static/admin/(?P<path>.*)$'
。それはすべてに問題ありませんが、より良い解決策はありますか?
静的パスで collectstatic を実行すると、admin フォルダーとその css/js ファイルが見つかります。次に、URL パスを url(r'^admin/static/(?P.*)$','django.views.static.serve',{'document_root' :settings.STATIC_ROOT}) に設定します。メインの管理ページでは機能しますが、アクセスhttp://localhost/admin/sites/site/static/static/admin/js/admin/RelatedObjectLookups.js
しても機能しません。どうすれば URL パスを記述できますか?