更新
問題が見つかりました。DEBUG = Trueの場合、Djangoはすべての静的ファイルに対応していません。
MacとドッキングステーションのPCでコードが正常に動作するのは本当に奇妙です。しかし、私はクラウドサーバーにコードをアップロードすると、いくつかの静的ファイルでは404、他のファイルでは200が得られました。ここで
bootstrap.min.css 200 stylesheet (index) 119 KB 50 ms
dataTables.bootstrap.min.css 404 stylesheet (index) 126 B 164 ms
buttons.bootstrap.min.css 404 stylesheet (index) 126 B 165 ms
templates
またはhost ip
と間違って私のsettings.py
たぶん
...
DEBUG = True # still on develop
...
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]
...
ものです:私はbase.html
にいくつかの基本的なCSS/JSを置く
テンプレート
。 this bootstrap
cssはうまく動作します。
<!DOCTYPE html>
<html lang="en">
<head>
{% block head_meta %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% endblock head_meta %}
<title>{% block head_title %}{% endblock head_title %}</title>
<!-- Bootstrap core CSS -->
<link href="/static/vendors/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
{% block head_link %}
<!-- HERE I PUT EXTENDED CSS/JS -->
{% endblock head_link %}
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
...
</html>
と私はsome.html
で使用された場合、私はいくつかのCSS/JSを拡張します。 これらDatatables
CSS/JSが404
{% extends "base.html" %}
{% block head_title %}Search Results{% endblock head_title %}
{% block head_link %}
<!-- Datatables -->
<link href="/static/vendors/Datatables-1.10.15/media/css/dataTables.bootstrap.min.css" rel="stylesheet">
<link href="/static/vendors/Datatables-1.10.15/extensions/Buttons/css/buttons.bootstrap.min.css" rel="stylesheet">
{% endblock head_link %}
ホストIP
唯一の変更、私は私のMacの間で、仮定だ、クラウドサーバとPCは、ホストのIPです。
MacとPCでは、ホストipはlocalhost
です。
クラウドサーバでは、ホストipは特定のipです(1.1.1.1
など)。
ありがとうございます!
Djangoのバージョン:1.11
は実は、私のPCとクラウドサーバ上で、私の両方がUbuntuの16.04とドッキングウィンドウを使用していました。それで、同じenvにあります。そして、私はpython3 runserver 0.0.0.0:8000
を使って私のサイトをテスト/デバッグしました。しかし、彼らは私の質問とは異なる結果を出しています。
最後に、
大変申し訳ございません。私は自分の問題を発見した、それは本当に@Alasdairが言うようにcapitalisation problem
だ。しかし、MacやPC/Serverではそうではありません。 WindowsとUbuntu上の同じドッカーコンテナ(Ubuntu 16.04)で発生しました。私はそれがWindows上で正常に動作するので、それを見つけることができませんでした。そして私はまだなぜそれが分からないのですか?
ありがとうございます!
ハードコードされたリンクを使用しないで、代わりにテンプレートの上部に '{%load static%}'と入力してから、次のように指定したURLを呼び出してください: 'href = '{%static" css/your_file.css "% } '' –
また、サーバーにプロジェクトをデプロイするときに' collectstatic'コマンドを調べる価値があるかもしれませんが、settings.pyに静的ファイル用のいくつかの追加変数を追加する必要があります。 [Django docs](https://docs.djangoproject.com/en/1.11/howto/static-files/deployment/)ここにリンクを詳しく説明しています –
正しい大文字を使用していることを確認してください。ディレクトリが 'datatables-1.10.15'の場合、' Datatables-1.10.15'はMacでは動作しますが、Linuxでは動作しません。 – Alasdair