5

私はジャンゴ1.5を使用しています

Apache レベルで処理されるため、本番環境でファイルを提供できます。ここに私の httpd.conf ファイルがあります:

<VirtualHost *:80>
WSGIScriptAlias / /home/membership/membership/wsgi.py

Alias /static/ "/home/membership/static/"


<Directory /home/membership/static>
Order deny,allow
Allow from all
</Directory>

<Directory "/usr/lib/python2.6/site-packages/django/contrib/admin/static/admin">
    Order deny,allow
    Allow from all
</Directory>

<Directory /home/membership/membership>
<Files wsgi.py>
Order deny,allow
Satisfy Any
Allow from all
</Files>
</Directory>
</VirtualHost>

これは、本番環境では問題なく機能します。Alias /static/ "/home/membership/static/"

ローカル開発環境でアプリを実行しようとすると、静的ファイルを提供することができず、ページが見つかりません 404 エラーが発生します。これは、ローカルで開発するときに、Apache が使用されていないため、要求が開発サーバーに直接送信されるためだと思います。

ここに画像の説明を入力

/static/me.png にファイルがあります。

開発中に静的ファイルを提供するために指定することになっている場所はありますか?

実行python manage.py collectstaticすると、管理アプリの静的ファイルのみが収集されるようです。提供しようとしているファイルが /app/static ディレクトリに直接あります。

4

4 に答える 4

11

サイトの設定で静的ファイルへのパスを定義しましたか? 私は url/static/を意味するのではなく、 (STATICFILES_DIR構成ファイルが .apache

ドキュメントに従うのが本当に最善です。それは絶対に素晴らしいです:

ドキュメンテーション

于 2013-07-18T03:03:49.343 に答える
4

あなたのurls.pyで、これを一番下に追加するだけです:

if settings.DEBUG:
urlpatterns += patterns('',
    (r'^stati_directory/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root':settings.STATIC_ROOT}),)

確実にDEBUG = True

于 2013-07-18T03:03:29.430 に答える