bugfix> python > 投稿

Django cssファイルが見つかりませんエラー、cssファイルの読み込みに失敗し、404ファイルが見つかりませんエラーを取得また **別のエラーが発生しています:

Not allowed to load local resources.

はい、試しましたc:/path/chrome.e xe-、ブラウザを起動するだけで、 url/website に移動しません 。

皆さんが提案するのは、これが私のコードです。関連すると思われるコードのみを投稿します。私のDjangoバージョンは最新のものです2。

ブラウザChrome

GET http://127.0.0.1:8000/static/care/style.css 404 (Not Found)

settings.py

# Application definition
INSTALLED_APPS = [
    'care.apps.CareConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

# SECURITY WARNING: don't run with debug turned on in production!
    DEBUG = True

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.0/howto/static-files/
STATIC_URL = '/static/'

style.css staticという別のディレクトリ内にあるCareディレクトリ内に存在します。

相対パスと「絶対パス」で試しましたが、絶対パスで試したときに別のエラーが発生します

Not allowed to load local resources.

実際に、HTMLソースコードからリンクをコピーしてブラウザーに貼り付けると、style.cssファイルに移動します。パスに問題はありません。

Djangoがcssファイルを検出しないのはなぜですか?私はFirefoxブラウザでも同じ問題に直面していますが、Chromeとは異なりエラーがリストされていません

index.html

{% load staticfiles %}
  <link rel="stylesheet" type="text/css"   href="{% static  'care/style.css' %}" />

回答 1 件
  • あなたの MEDIA_URL  と定義されている/メディア/、これを行うには、APP urls.pyに次のスニペットを追加します。

    from django.conf import settings
    from django.conf.urls.static import static
    urlpatterns = [
        # ... the rest of your URLconf goes here ...
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    
    

    STATIC_ROOT を設定する  これらのファイルを提供したいディレクトリに設定します。例えば:

    STATIC_ROOT = "/var/www/example.com/static/"

    collectstatic を実行する  管理コマンド:

    $ python manage.py collectstatic
    
    

    これにより、すべてのファイルが静的フォルダーから STATIC_ROOT にコピーされます  ディレクトリ。

あなたの答え