0

画像を/media/フォルダに入れても機能しません。しかし、それらを「/ static /」フォルダーに入れると機能します。

{% extends 'base.html' %}

{% block contain %}
    <h1>New Report</h1>
    <form id="create" method="POST" action="" enctype="multipart/form-data">{% csrf_token %}
        {{ form.as_p }}
        <input type="submit" value="Confirm">
    </form>


    {% for report in reports %}
        <P> {{report.title}} </P> <br>
        <img src="{{STATIC_URL}}<name of the image>" width='100px' height='100px'> =====> I can see the image

        <img src="{{MEDIA_URL}} <name of the image>" width='100px' height='100px'> =====> I cant see the image

        <img src="/static/<name of the image>" width='100px' height='100px'> =====> I cant see the image

        <img src="/media/<name of the image>" width='100px' height='100px'> ====>>>> I cant see the image


    {% endfor %}
{% endblock %}
4

2 に答える 2

6

django テスト サーバー (または apache/nginx) がメディア フォルダーを認識していますか?

これを urls.py に追加してみてください (開発サーバーを使用している場合):

if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT,
        }),
   )
于 2013-07-04T04:25:42.293 に答える
0

静的フォルダー内のファイルはサイトで提供されるため、静的フォルダーに画像を配置すると機能します。これは潜在的な解決策であり、この議論は、一部の画像では妥当であることを示唆しているようです。私のサイトでは、メディア フォルダ内の画像は にあります/uploads/<name of the image>。これがMEDIA_URL設定されているものです。ただしMEDIA_URL、すべての画像がモデルに関連付けられているため、明示的に呼び出すことはありません。django がそれを処理します。私の推測では、画像を保存しているフォルダーの名前を再確認し、正しい場所を見ていることを確認してください。次に、テンプレートで未定義{{MEDIA_URL}}でないことを確認します。

于 2013-07-04T04:25:26.437 に答える