2016-08-31 126 views
0

我不擅長django,我使用Django 1.10,現在我遇到了圖像顯示問題。我在這個版本閱讀了一些東西已經改變,但我不明白。這裏是我現在有:如何在Django中顯示圖像1.10

settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

STATIC_DIR = os.path.join(BASE_DIR, 'static') 

TEMPLATE_DIR = os.path.join(BASE_DIR, '/templates') 

STATICFILES_DIRS = [STATIC_DIR, ] 

STATIC_URL = '/static/' 

MEDIA_ROOT = 'C:/Users/john/myprojects/goal/website/goal/media/' 

MEDIA_URL = '/media/' 

或許真的是不尋常的在這裏,我可以刪除嗎?

模板:

{% block content%} 
    {{ car.name }} 
    {{ car.photo.url }} 
{% endblock %} 

這裏是文件夾,我有我的圖片:

C:/用戶/ JOHN/MyProjects下/目標/網站/目標/媒體/圖像

而我看到的不是我網站上的圖片:

/media/images/mynewcar.jpg

我必須改變什麼?

我粘貼到的urls.py:

media_dir = os.path.join(os.path.dirname(文件), '媒體')

並urlpatterns的

URL(R '^媒體/(.*)$', 'django.views.static.serve',{ 'DOCUMENT_ROOT': media_dir}),

+0

你有沒有''在你的模板 –

回答

4

你必須把<img>標籤

{% block content%} 
    {{ car.name }} 
    <img src="{{ car.photo.url }}"> 
{% endblock %} 

更新

from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ 
    # ... the rest of your URLconf goes here ... 
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
+0

這是真的標籤,謝謝你 - 現在我看到的地方形象,但那沒有。當我點擊顯示圖像時,我收到信息'找不到頁面'。我應該如何更改網址或類似的東西?我的文件夾路徑錯了嗎? – znawca

+1

您是否在開發模式下在uls.py中添加媒體網址? – itzMEonTV

+0

我編輯了我的第一篇文章,並添加了我在urls文件中的內容,但是現在我得到的信息是include()中的視圖必須是可調用的或列表/元組。我嘗試將urlpattern更改爲url(r'^ media /(.*)$',static.serve,{'document_root':media_dir}),但後來我得到''function'對象沒有屬性'serve' – znawca