0

私は本当に混乱しています。私は Django 1.4 を使用しており、これを一日中探していましたが、Django の最新バージョンではすべてが変更されたようで、ドキュメントはまったく役に立ちません (少なくとも私には)。テンプレートに CSS ファイルを添付するのを手伝ってください。

だから、これは私のsettings.pyファイルです

STATIC_ROOT = 'F:/Django/mysite/mysite/static/'

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    "F:/Django/mysite/mysite/static/",
)

これが私のURLです

from django.conf.urls.defaults import *
from myste.views import hello, home
from django.views.static import *
from django.conf import settings

urlpatterns = patterns('',
    ('^home/$', home)
)

これがビューです

def home(request):
    return render_to_response('home.html', locals(),context_instance=RequestContext(request))

最後に、これがテンプレート (home.html) です。

url: {{ STATIC_URL }}

ああ、私は TEMPLATE_CONTEXT_PROCESSORS に何を入れるべきかわかりませんが、これまでのところです。

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
)

そして、これはサーバーを実行したときに得られる出力です

url:

これらのコードに大きな間違いがあるかもしれないことはわかっていますが、それは、さまざまな django バージョンのさまざまなソースを読んできたからです。はい、ドキュメントを読みましたが、私が言ったように、それほど役に立ちませんでした。

4

3 に答える 3

0

STATIC_URL はローカル スコープにないため、 locals() を辞書として渡すことは役に立ちません。

def home(request):
return render_to_response('home.html', {'STATIC_URL': settings.STATIC_URL},context_instance=RequestContext(request))

または、1.4 で利用可能な新しいstaticタグを使用して、テンプレートでこの特定の問題を回避できます。

{% load static from staticfiles %}
url: {% static "/" %}
于 2012-06-27T21:39:25.927 に答える
0

「django.core.context_processors.media」、「django.core.context_processors.static」、

これらは両方とも、 thisに従って TEMPLATE_CONTEXT_PROCESSORS にある必要があります。これにより、リクエスト コンテキストを使用するすべてのコンテキストで STATIC_URL を使用できるようになります。本当にドキュメントを読み、それらを 1.4 に設定していることを確認すると、これらのタイプの質問の多くを回避し、多くの頭痛の種から解放されます。

renderを使用して、頭の痛い問題やタイピングの手間を省くことができます。私は通常、 render_to_request(blah) に交換しただけrender(request, context, template)で、この場合はrender(request, locals(), 'home.html').

于 2012-06-27T21:40:37.920 に答える
0

あなたは説明書をまったく読んでいないようです。行うべき 2 つの重要なことは、1)staticプロセッサが含まれていることを確認すること、TEMPLATE_CONTEXT_PROCESSORSおよび 2) 開発中に静的ファイルを実際に提供する URL を定義することです。

これはどれも「最新バージョンで変更」されていません。以前のバージョンである 1.3 ではいくつかの改善がありましたが、基本的な原則は同じです。

于 2012-06-27T21:40:58.817 に答える