0

静的ファイルに関連するドキュメントをいくつか読みましたが、うまくいきませんでした。テスト目的で、コンピューターで runserver を使用しています。私の html は次のディレクトリにあります: C:\mytemplates\polls\t3.html。t3.html は、my_static_files の下に置かれた js および css ファイルを使用します。では、Django の静的設定はどうあるべきで、my_static_files はどこに置くべきなのでしょうか?

4

1 に答える 1

1

正確に指定していないので、静的ファイルが C:\my_static_files\ であると仮定します

その場合、設定は次のようになります。

STATIC_URL = '/static/'
STATIC_ROOT = 'C:\my_static_files\'

テンプレートでは、{{STATIC_URL}} を使用して静的ファイルをロードできます。

<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/your_style.css" />
<script type = "text/javascript" src = "{{STATIC_URL}}/js/your_script.js"></script>

サブフォルダー js と css に異なる名前を付けた場合は、それに応じてリンクを変更してください。それでもうまくいかない場合は、先頭と末尾のスラッシュを確認して再確認してください。

{{STATIC_URL}} を使用しても何も返されないとおっしゃったように、これを追加する必要があります: {{STATIC_URL}} を使用できるようにするには、RequestContext をテンプレートに渡す必要があります。ビューから Response を返すときに、次のように context_instance を渡すことでこれを行うことができます (つまり):

from django.template import RequestContext
from django.shortcuts import render_to_response

def some_view(request):
    # your view code here

    return render_to_response(template_name,
                              context, 
                              context_instance=template.RequestContext(request) )
于 2012-04-22T09:44:53.600 に答える