0

CSS、画像、JavaScriptをDjangoテンプレートにロードしようとしています。 {{ STATIC_URL }}

動作させるのに問題があります。関連するコードは次のとおりです。

Url's.py:

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

Settings.py

import os
DEBUG = True
TEMPLATE_DEBUG = DEBUG

PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))

MEDIA_URL = '/assets/'

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

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    "/Users/Chris/project/static/",
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

スタイルシートURL:

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

これ以上の情報が必要な場合は、質問してください。助けてくれてありがとう!

更新:問題を解決するために次のものを追加しました。しかし、それはまだ持続します:

スタイルシートをインポートしようとしているビューへ:

'context_instance':RequestContext(request),

settings.pyファイルへ:

TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.contrib.messages.context_processors.messages",

)。

これが役立つ場合は、インストール済みアプリを次に示します。

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'djblog',

)。

管理者用の私のURLs.pyファイル、および他のURLファイルを指す:

from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
# Examples:
# url(r'^$', 'blog.views.home', name='home'),
# url(r'^blog/', include('blog.foo.urls')),
url(r'^admin/', include(admin.site.urls)),
(r'^', include('djblog.urls')),

)。

私のメインURLファイル:

from django.conf.urls.defaults import *
from views import *
from models import *
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = patterns('',
(r'^$', list),
(r'^archive/(?P<archive>\d{1,2})/$', list),
(r'^\d{4}/\d{1,2}/(?P<sl>.*)/$', detail),
(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/$', month),
(r'^(?P<year>\d{4})/$', year),
(r'^category/$', category),
(r'^category/(?P<category>.*)/$', one_category),
(r'^tag/$', tag),
(r'^tag/(?P<tag>.*)/$', one_tag),
)
urlpatterns += staticfiles_urlpatterns()
4

1 に答える 1

0

私は自分の質問を解決しました。ケイ朱の助けを借りて

私の見解では、「context_instance」キーワード引数をrender_to_responseに渡していたのは間違っていました。

context_instanceの正しい使用例を次に示します。

def one_tag(request, tag):
    #http://site_name/tag/tag_name
    posts = Post.objects.order_by('-published').filter(tags__name=tag.lower())
    return render_to_response('blog/one_tag.html', 
                              {'posts':posts, 'tag':tag,},
                              context_instance=RequestContext(request))

これにより、同様の問題も解決する可能性があります。次のコードを使用して、プログラムディレクトリにファイルを追加します。

def media_url(request):
    from django.conf import settings
    return {'media_url': settings.MEDIA_URL}

そして、このブログ投稿には多くの良い情報があります:http : //www.b-list.org/weblog/2006/jun/14/django-tips-template-context-processors/ただし、2006年からです:)

于 2012-10-18T23:18:28.400 に答える