-1

私はこれを理解したと思っていましたが、これに関していくつかの異なることを読んだので、私は本当に混乱し始めています。

私のsettings.pyのURL設定は次のようになります。

MEDIA_ROOT = HOME + '/uploads'

MEDIA_URL = PUBLIC_HTML + 'media/'

STATIC_ROOT = HOME + '/static'

STATIC_URL = PUBLIC_HTML + 'static/'

ADMIN_MEDIA_PREFIX = PUBLIC_HTML + 'static/admin/'

HOME/ home / username /はどこにありPUBLIC_HTML、「http://www.mydomain.com/test/myproject/」のようなものです。

静的ファイルは問題ないようですが、メディアファイルが表示されません。urls.pyファイルには何も設定されておらず、共有ホスティングを使用しているため、apacheディレクティブに.htaccessファイルを使用するだけです。

もちろん、メディアファイルを表示したいのですが、最初の質問は、静的ファイルが表示されるのはなぜですか?それは意味がありません。apacheはDjangoによって処理される前にこれらのリクエストをインターセプトする必要があると思いましたが、URLにdjango.static.serveビジネスがなくても問題なく表示されているようです。そんなことがあるものか?私はこれを正しく行っていますか(私はそうではないと確信しています)、メディアファイルを表示するにはどうすればよいですか?静的ファイルが表示されないのに、なぜ表示されないのですか?

4

1 に答える 1

0

STATIC_ROOT は STATIC_URL で apache として提供する必要があります。これは明らかに正しく行われています。

同様に、MEDIA_ROOT は MEDIA_URL の apache によって提供される必要があります。

たとえば、 MEDIA_URL から MEDIA_ROOT へのエイリアスを設定できます。

Alias /test/myproject/media/ /home/username/media/

絶対パスをハードコーディングすることは避けたほうが望ましいですが、まずこのように動作することを確認してください。

于 2012-09-05T18:25:24.017 に答える