1

私は最終的にApacheを使用して提供することができたdjangoプロジェクトを持っています。非常にシンプルにしたかったので、テスト サーバーは /media と static を提供していましたが、site.conf ファイルには含めませんでした。最初に展開が機能するかどうかを確認し、次にApacheに静的ファイルを提供させたいと思いました。しかし、正直なところ、Apache は、何もしなくてもメディア フォルダーからファイルを提供しています。私のApache confは

<VirtualHost *:80>
    ServerAdmin webmast@rhombus.com
    ServerName myrhombus.com
    ServerAlias www.myrhombus.com
    WSGIScriptAlias / /srv/www/rhombus2/rhombus/wsgi.py
    <Directory /srv/www/rhombus2/rhombus>
    <Files wsgi.py>
            Require all granted
    </Files>
    </Directory>

    Alias /static/ /srv/www/rhombus2/static/
    Alias /media/ /srv/www/rhombus2/media/

    <Directory /srv/www/rhombus2/static>
        Require all granted
    </Directory>

    <Directory /srv/www/rhombus2/media>
        Require all granted
    </Directory>


</VirtualHost>

ご覧のとおり、メディアまたは静的エイリアスはありません。

私のurls.py

urlpatterns = patterns('',
    # Examples:
    #differnet  urls here etc...
    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
)

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

これはどのように可能ですか?

編集:あなたが以下に説明する変更を行いましたが、今では奇妙な態度になります:)メディアまたは静的なサービスが提供されず(403エラー)、リンクまたはアドレスバーを最初にクリックすると400エラーが表示され、2番目に開きます通常の Web ページ。

エラーログ

[Tue May 20 10:12:56.049081 2014] [authz_core:error] [pid 1360:tid 140612925908736] [client 127.0.0.1:48360] AH01630: client denied by server configuration: /serv, referer: http://www.myrhombus.com/accounts/login/

サイトにアクセスすると、Bad Request(400) が返されます。もう一度クリックすると、通常どおりサイトが開きますが、error.log に同じエラーが表示されます。

4

1 に答える 1

1

これは、URL パターンを提供するいくつかの django メディアを具体的に追加したためです。あなたが心配するのは正しいです!

+static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

あなたはPythonMEDIA_ROOTを介してサービスを提供しています。MEDIA_URL開発中以外はお勧めしません。

if settings.DEBUG = Trueその追加をステートメントでラップする必要があります。

if settings.DEBUG:
   urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
于 2014-05-19T17:10:26.150 に答える