11

テンプレートで静的ファイルを参照するのに問題があります。私はTwitterBootstrapを使用しており、ブートストラップファイル(css、img、js)をmysite/staticに置いています。

私はを設定しましたSTATIC_URLSTATIC_ROOTそしてこのチュートリアルTEMPLATE_CONTEXT_PROCESSORSに従って。72個のファイルをコピーして実行しました。以下のテンプレートタグもテンプレート()ファイルに追加しましたが、これは機能しません。./manage.py collectstaticindex.html

{% load staticfiles %}
<link rel="stylesheet" href="{% static user_stylesheet %}" type="text/css" media="screen"/>

ブートストラップスタイリングがテンプレートに戻るようにファイルを参照する方法についてのヘルプは大歓迎です!

4

3 に答える 3

18

そのはず

{% load static %}

そして、

<!-- path -->
<link href="{% static 'bootstrap/css/bootstrap.css' %}" rel="stylesheet" type="text/css">
<!--->

完全性のための更新

フォルダ構造

  • プロジェクト
  • app1
  • app2
  • myproj_public
  • 静的
    • css
      • bootstrap.css
    • js
      • xyz.js

設定ファイル

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

STATIC_URL = '/static/'
于 2012-12-24T04:33:48.273 に答える
5

user_stylesheetビューでコンテキスト変数を設定していますか?テンプレートに渡す前に設定する必要があります。

私は通常、{{ static_url }}このようなことを行うためにタグを使用するだけなので、ブートストラップコンポーネントを含めるためのコードは次のようになります。

<link href="{{ STATIC_URL }}bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
<script src="{{ STATIC_URL }}bootstrap/js/jquery.js"></script>

ブートストラップフォルダがstatic内に存在すると仮定します。

編集

あなたの場合、user_stylesheetコンテキスト変数を設定するには、次のようなことを行う必要があります

dict["user_stylesheet"]= <path to your file>
#add other context variables you might have to
render_to_response(<your template name>, dict, context_instance=RequestContext(request))
于 2012-12-23T20:16:48.087 に答える
0

を設定するstatic_rootと、たとえば次のようになります。

STATIC_ROOT = os.path.join(BASE_DIR, "static_root/")

、すべてのファイルは、ではなく、そこにコピーされproject_root/staticます。これは、静的ファイル処理を容易にするためにDjango 1.3で導入された新しいメカニズムです。インストールされている各アプリの下のSTATICFILES_DIR すべてのstaticディレクトリにあるすべてのファイルを収集するため、それらを一度にコピーします。

static_rootパス付きのcss/jsファイルを参照してください。

于 2017-12-04T11:02:18.043 に答える