@Simeon Visserの回答に本当に感謝しています。本当に有益な情報がありましたが、私が探していたものではありませんでした。だから私は、私は他の誰かを助けるかもしれないと思った、周りに尋ねた。このために感謝するのredditからsinister_user_nameを持っている:
静的ファイルには、古いブログは混乱のビットであるかもしれない最近のリリースで公平なビットを変更しました。あなたのテンプレートで
あなたはstatic_url
タグを使用することができますし、Djangoはあなたのためのパスを記入します:
は、私はそれに打撃を与えるだろう。
<link rel="stylesheet" href="{{ STATIC_URL }}css/bootstrap.min.css">
設定ファイルを確認して静的URLを埋め込みます。 STATIC_URL
はデフォルトで/static/
に設定されていると思いますか?静的ファイルがあなたの企業のWebサーバー上の奇妙なURLに終わった場合は、それを設定で変更するだけで、すべてのテンプレートに反映されます。彼らが絶対的なのかどうかは関係ありません。
あなたの設定にSTATIC_ROOT
と入力してデプロイすると、これは静的ファイルを見つけるためにウェブサーバを設定したパスに過ぎません。その後、manage.py collectstatic
を実行すると、そのディレクトリにコピーされます。それはSTATIC_ROOT
の唯一の機能だと思います。
テンプレートはPythonで処理されているのに対し、主に静的ファイルを提供するだけのため、静的ディレクトリとは別にテンプレートディレクトリを保持します。したがって、静的ファイルは、Webサーバーが表示する限り、ほとんどアプリケーションの一部ではありません。主に両方がpythonのソースファイルではないので、テンプレートと静的ファイルをベースディレクトリの別々のパスに保存します。
だから私のプロジェクト構造は次のように次のようになります。相対パスでの問題は、彼らがあなたのURLスキームが変更された場合、変更する必要がありますということです
manage.py
website/settings.py
app/models.py
app/views.py
templates/base.html
static/js/jquery.js
static/css/bootstrap.css
。
オプション:絶対的なファイルシステムのパスをsettings.pyに入れないことに役立つこのブログでは、仕事や家庭などの複数のマシンから作業する場合に便利です。( 1.4のレイアウトが少し違っています私の設定の上部にこの:
import os
import django
import manage
DJANGO_ROOT = os.path.dirname(os.path.realpath(django.__file__))
SITE_ROOT = os.path.dirname(os.path.realpath(manage.__file__))
代わりに、彼らは(設定の場所は、1.4または1.3に移動している)ので、SITE_ROOT
が台無しであることを示唆しているものの、私はそれが動作するかもしれないと思う さらに下にインチ。設定私はこれを使用します:
# Additional locations of static files
STATICFILES_DIRS = (
os.path.join(SITE_ROOT, 'static'),
)
これは、静的ファイルを見つける場所を開発サーバーに指示します。テンプレートに対しても同じことができますし、完全なファイルパスを使用することもできます。
静的なディレクトリに「CSS/bootstrap.min.css」にアクセスする方法を示す例である非常にありがとうコードのモジュール化とデプロイメントプロセスの説明について、非常に良い点を挙げるのと同じです。残念ながら私はばかだと私は自分の練習のプロジェクトを正しく設定する方法を見つけることがまだできませんでしたが、私はここに新しい、より具体的な質問を開くことにしました:http://stackoverflow.com/questions/ 11033571/django-virtual-serverを使って静的ファイルを使用する – Holly
これはforemanコマンドとどのように機能しますか?私は上司を使うようになってから、静的な資産はローカルにロードされませんでしたが、うまく機能しています...しかし、配備されてもうまくいきます...シメオンからのこの回答は、静的なファイルを扱うプロセス - しかし、私はforeman対liveインスタンスを使用するときにいくつかのより明確な期待をしていた...今私の管理者は、警備員に見えるときにCSSがありません....任意のアイデア? – tbarbe