2

私はDjango 1.4を使用していますが、何らかの理由でメディアファイルを提供できますが、静的ファイルは提供できません...これが私のコードです: 設定:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/'

urls.py:

(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
                    (r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.STATIC_ROOT}),

base.html:

<link href="{{ STATIC_URL }}css/bootstrap.css" rel="stylesheet">
<link href="{{ MEDIA_URL }}css/bootstrap-colorpicker.css" rel="stylesheet">

404 http not found が表示されます...何が間違っていますか? プロジェクトのメディアのすぐ隣に静的フォルダーを作成しました

http://mysite.com:8000/static/css/bootstrap.css

4

3 に答える 3

1

明示的なメディア ビューと静的ビューを削除し、staticfiles アプリでそれらを作成できるようにすることをお勧めします (開発中に DEBUG が True の場合)。

settings.py https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/#std:setting-STATICFILES_FINDERSにデフォルトのファインダーがあることを確認します

プロジェクトの静的ディレクトリを STATICFILES_DIRS ( https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS ) に追加するか、各アプリの下にアプリ固有の静的フォルダーを配置します。ファインダーが静的コンテンツを見つけるには、アプリを INSTALLED_APPS にリストする必要があります。

静的ファイルを自分で STATIC_ROOT に配置しないでください。このディレクトリは、collectstaticコマンドによって管理されます。https://docs.djangoproject.com/en/dev/howto/static-files/#deploymentを参照してください

于 2013-05-20T14:29:52.540 に答える
0

settings.py でメディア URL を定義する方法は次のとおりです。

import os
ABSOLUTE_PATH           = os.path.dirname(__file__)
MEDIA_ROOT              = os.path.join(ABSOLUTE_PATH, '../media')
MEDIA_URL               = '/media/'
STATIC_ROOT             = os.path.join(ABSOLUTE_PATH, '../static')
STATIC_URL              = "/static/"

ご覧のとおり、違いは ../media と ../static です

インストール済みのアプリに mysite はありますか? Django は、インストールされたアプリの中を調べて、そこに static フォルダーがあるかどうかを確認します。

于 2013-05-20T14:02:26.577 に答える