私は初めて Django アプリの作成に取り組んでいるので、少し遅れている場合はご容赦ください。
ここに私のsettings.pyからの抜粋があります:
STATIC_ROOT = os.getcwd().replace('\\','/') + '/static'
STATIC_URL = '/static_files/'
STATICFILES_DIRS = (
os.getcwd().replace('\\','/') + '/static'
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
注:回線が機能することを願っていos.getcwd()...
ます。私の問題ではないと確信していますが、これが問題である場合はお知らせください。これはローカル開発用のプレースホルダーであるため、デプロイ時にそこに残っていることを心配する必要はありません。
私の最初の問題は、テンプレート変数が機能していないように見えることです。
メインのテンプレート ファイルからの抜粋:
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL|default:'/static_files/' }}css/base.css" />
もともと{{ STATIC_URL }}
そこにあっただけでしたが、何も返されなかったので、追加してみまし|default:'...'
た。これにより、結果の HTML で指定された文字列が正常に生成されましたが、それでも機能しませんでした。これにより、2 番目の (そしてより重要な、正直なところ) 問題が発生します。
静的ファイルをまったく機能させることができません。ここでいくつかの異なる方法を試しました。上記の各変数に絶対パスと相対パスを (さまざまな組み合わせで)入れてみました。代わりにSTATIC_*
同等のMEDIA_URL
変数を使用してみました。また、以下を my に入れてみましたurls.py
:
urlpatterns = ('',
# ...
(r'^static_files/(?P<path>.*)$',
'serve', {
'document_root': '/path/to/django/dir/static_files/',
'show_indexes': True
}
),
)
(上記のスニペットはhttp://www.arthurkoziel.com/2008/09/02/handling-static-files-django/から取得しました。)
ここで、最初の開発が完了したら、最終的に並列 Apache プロセスから静的ファイルを提供することを願っていますが、何が間違っているのかを知りたいと思っています。オンラインまたは StackOverflow で、静的ファイルに関する十分に包括的なチュートリアルを見つけることができませんでした。
すべてのヘルプは大歓迎です。
編集:重要な場合、私はPython 2.7を使用してWindows 7を使用しています。