1

MEDIA_URLまたはSTATIC_URLを使用して/static/を指す場合、現在MEDIA_URLを/ static /に設定し、次のようなCSSファイルへのパスで使用します。

<link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/css.css" />

を指します/static/css.cssが、試行するとhttp://localhost/static/css.css404エラーが発生します。

私は設定にあります:

.....
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/static/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = 'D:/programming/django_projects/ecomstore/'
.....

urls.pyには、次のような静的なポイントがあります。

url(r'^static/(?P<path>.*)$', 'django.views.static.serve',
     {'document_root':'D:/programming/django_projects/ecomstore/'}

では、どこに問題があるのでしょうか。404が表示されるのはなぜですか?静的ファイルのビューを作成する必要がありますか?または、私の設定またはurls.pyに何か問題がありますか?私はdjangoの初心者なので、どんな回答でもいただければ幸いです。

前もって感謝します

4

1 に答える 1

7

ドキュメントをもっとよく読み直す必要があります: https://docs.djangoproject.com/en/dev/howto/static-files/

以下に注意事項を示します。

  1. MEDIA_URLおよびMEDIA_ROOTユーザーのアップロード用です (モデルFileFieldの および)。ImageFieldそれは独自のフォルダーである必要があります。「メディア」が一般的です。

  2. STATIC_URLSTATIC_ROOT静的リソース用です。また、独自のフォルダーにする必要があります。「静的」が一般的です。

  3. 実際には何も入れないでくださいSTATIC_ROOTcollectstaticこのディレクトリは、本番環境での管理コマンドの出力専用です。

  4. 静的リソースは、アプリの「静的」フォルダーまたはまったく新しい別のディレクトリ (MEDIA_ROOTまたはではないSTATIC_ROOT) に配置する必要があります。次に、そのディレクトリへのパスを に追加しますSTATICFILES_DIRS

  5. urls.py には何も追加しないでください。開発中、Django はアプリの「静的」ディレクトリまたは .xml 内の任意のディレクトリにあるものを自動的に提供しますSTATICFILES_DIRS。本番環境では、Web サーバーがこれらのファイルの提供を担当します。

于 2012-03-06T22:20:12.110 に答える