2013-01-07 67 views
1

我想讓Django顯示圖片。我安裝了PIL,它的接縫工作。 我運行PY 2.7,贏7,研究與開發服務器和sqlite3的django PIL圖像上傳/顯示問題

我的靜態根:

STATIC_ROOT = r'H:/netz2/skateproject/static/' 

IVE此文件夾中有一個背景圖片,並可以通過

http://127.0.0.1:8000/static/images/lomax.jpg 

存取權限它現在即時通訊嘗試通過圖像領域&管理員上傳圖片。它工作正常,圖片降落在正確的文件夾(ive現在更改文件夾一百萬次,看看是否可能是問題),但圖片無法顯示。我的模型的

部分:

class Sk8(models.Model): 
    name  = models.CharField(max_length=50, default='name of the model') 
    bild1  = models.ImageField(upload_to="uploads/") 

我的媒體根:

MEDIA_ROOT = r'H:/netz2/skateproject/media/' 

在正確的文件夾中的圖片的土地。 NETZ/skateproject /媒體/ pic.jpg

但接縫像本地主機不能存取權限此文件夾。當我嘗試 - 我得到一個404和Django告訴我,該網址不匹配我在我的網址中定義的任何東西。 這是真的 - 但是也沒有我定義的URL靜態文件夾中的背景圖片 - 我可以訪問此一個就好了。

香港專業教育學院還試圖從我的HTML模板存取權限的文件,像這樣:

{% extends "grundgerüst.html" %} 
{% block inhalt %} 
    <div id='skatelist'> 
     {% for sk8 in skates %} 
     <p><a href="/skates/{{sk8.slug}}/">{{sk8}}</a></p> 
     <p><img src="{{sk8.bild.url}}"/></p> 
     {% endfor %} 
    </div> 
{% endblock %} 

明顯的圖片顯示不出來。

我不知道這裏有什麼問題。我想我應該能夠看到本地主機上的圖片? 繼承人的錯誤鉻的PIC給我

enter image description here

如果即在圖片中的文件夾是比代碼示例的那些不同的,因爲我改變了他們測試不同的設置。

我真的希望有人可以幫我找出image_field,因爲如果我不能顯示他們並沒有太大的意義:)

由於事先上傳的圖片! danielll

ouh和 - 我已經試過谷歌和Django參考等我真的無法弄清楚這種方式。每一個幫助讚賞!

回答

1

Django的contrib.staticfiles應用程序將猴補丁網址來服務時,在調試模式下[ref]靜態文件。不幸的是,媒體文件也不能這樣說。

添加下面的代碼片段到您的項目urls.py顯示媒體

django.conf import settings 

if settings.DEBUG: 
    urlpatterns += patterns('', 
     url(r'^media/(?P<path>.*)$', 'django.views.static.serve', { 
      'document_root': settings.MEDIA_ROOT, 
     }), 
    ) 

Docs reference

+0

真棒!就是這樣!完美答案,謝謝! 如果別人有這個問題不要忘記包含: 從django.conf導入設置 在您的網址或youll首先收到錯誤。 如果您需要更好的理解它,請檢查Thomas發佈的django文檔的鏈接。 謝謝托馬斯 - 救了我的一天! –