0

私はdjango 1.3を使用しており、開発マシン(ubuntu 12.04)にdjangoプロジェクト(クライアントが送信)をデプロイしようとしています。問題は静的ファイルに関するものです。私のディレクトリ構造は次のとおりです。

project_name
    media
    static
        css
        img
        js
    settings.py

これが私のsettings.pyです:

ROOT = '/home/user/project_name'

MEDIA_ROOT = '%s/media/' % ROOT
MEDIA_URL = '/media/'
STATIC_ROOT = '%s/static/' % ROOT
STATIC_URL = '/static/'
STATICFILES_DIRS = ()

私のサイトは完全にデプロイされていますが、css、js、および imgs がありません。管理画面も同様です。リンクhttp://mysite.com/static/js/some.jsを使用すると、404 が返されます。

助けていただければ幸いです。回答に賛成票を投じることはカスタムです。

4

4 に答える 4

2

実行する必要があると思います./manage.py collectstatic:)

于 2013-05-18T12:55:09.207 に答える
1

あなたは走りましたpython manage.py collectstaticか?ここを参照

本番環境では、静的ファイルを静的サーバーに配置する必要があることに注意してください。ガイドラインに何かあるはずです。

于 2013-05-18T12:58:33.763 に答える
1

実際に静的ファイルを提供するようにWebサーバーを構成することについては言及していません。collectstatic がそれらを配置したディレクトリを指す必要があります。

于 2013-05-18T13:35:14.950 に答える
0

少しオフトピック..
使用する方が良いでしょう:
MEDIA_ROOT = os.path.join(os.path.dirname( file ),'media').replace('\','/')
STATIC_ROOT = os. path.join(os.path.dirname(ファイル),'static').replace('\','/')

および開発時のメイン urls.py では、django Web サーバーのみ:
urlpatterns = patterns('', (r'^media/(?P.*)','django.views.static.serve',{'document_root': os .path.join(os.path.dirname(ファイル),'media').replace('\','/') }),
(r'^static/(?P.*)','django.views .static.serve',{'document_root': os.path.join(os.path.dirname(ファイル),'static').replace('\','/')}),

このように、t need collectstatic, u本番サーバーでは必要ありません。そこでは、nginx などを使用して静的サーバーにサーバーを提供します。

于 2013-05-19T09:41:47.217 に答える