1

更新され たフォルダー構造は次のとおりです。manage.py collectstatic coomand を実行した後、django の静的ファイルが以下のようにプロジェクト フォルダーにコピーされ、logo.png をその img/ に配置します。

 mysite_new/

      manage.py
      mysite/
      ------ __init__.py
             urls.py
             setting.py
             wsgi.py
             templates/
                      default.html
             static/
                     img/
                          logo.png
                          .....
      ticket/
      ------__init__.py
            models.py
            view.py
            urls.py
            ......

setting.pyで、私は設定しました

PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
MEDIA_URL = ''
MEDIA_ROOT = ''
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_PATH,'static')
STATICFILES_DIRS = (
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

そして mysite/urls.py で設定しました

        urlpatterns = patterns('',
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/', hello),
    url(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT },name="media"),



)

default.html

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>staitc sample</title>
</head>
<body>
    <img src="{{ STATIC_URL }}img/logo.png"" alt="hahhaa">
</body>
</html>

ticket/view.py 内

def hello(request):
     return render_to_response( 'admin/default.html')

次に、Webブラウザーの入力http://127.0.0.1:8000/helloで、表示されますここに画像の説明を入力

次に、「ハハハ」から画像をロードします。 ここに画像の説明を入力

画像が表示されていないため、画像のパスが正しくなく、画像が正常に読み込まれていない可能性があります。view.py の hello メソッドで画像を表示するのを手伝ってくれる人はいますか? この質問は長い間私を混乱させました。事前に助けてくれてありがとう。私のジャンゴのバージョンは1.4です。

解決策は既に見つかりました。静的フォルダーを移動する必要はありません。ticket/ と同じレベルに保ち、setting.py に ADMIN_MEDIA_PREFIX = '/static/admin/' を追加します。

4

4 に答える 4

0

urls.pyで次を試してください

from django.conf import settings
from django.conf.urls.static import static

そしてファイルの下部に

if settings.DEBUG and settings.MEDIA_ROOT:
    urlpatterns += static(settings.MEDIA_URL,
        document_root=settings.MEDIA_ROOT)
于 2012-12-10T08:05:21.330 に答える
0

静的ディレクトリを mysite に移動する必要があります。ロゴへの URL は 127.0.0.1:8000/static/images/logo.png になります。

そして、STATIC_ROOT を 1 レベル上に設定します。

STATIC_ROOT = os.path.join(PROJECT_ROOT, '..', 'static')

これは、collectstatic コマンドがプロジェクトとアプリの静的ファイルをコピーする場所です。

更新:

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

ここに settings.STATIC_ROOT があるはずです。開発には、次のものも使用できます。

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()

https://docs.djangoproject.com/en/dev/howto/static-files/#staticfiles-development

于 2012-12-10T07:10:08.560 に答える