2012-12-16 54 views
6

मैं अपने Django आवेदन से उपयोगकर्ता अपलोड की गई फ़ाइलों की सेवा के साथ कुछ समस्या हो रहा है अपलोड user_res/चित्र/फ़ोल्डर।Django की सेवा उपयोगकर्ता छवियों

परियोजना की settings.py से

:

MEDIA_ROOT = 'user_res' 

MEDIA_URL = '/user_res/' 

STATIC_ROOT = '' 

STATIC_URL = '/static/' 

हर बार जब मैं एक स्थिर संसाधन (अर्थात् सीएसएस या js फ़ाइलें) को संदर्भित करने का प्रयास करें, सब कुछ

http://localhost:8000/static/<subfolder>/main.css. 

हालांकि के रूप में ऐसे URL का उपयोग ठीक काम करता है , मैं उपयोगकर्ता अपलोड की गई फ़ाइलों तक नहीं पहुंच सकता (जो उपयोगकर्ता_res/चित्र फ़ोल्डर में व्यवस्थापक इंटरफ़ेस द्वारा

user_res/pictures/test.jpg 

यूआरएल गतिशील रूप से एक Django चित्र मॉडल प्रतिदेय से कोड की इस पंक्ति के साथ बनाया जाता है:

return '<img src="{}"/>'.format(self.content.url) 

मैं url.py फ़ाइल में या तो स्थिर है या मीडिया फ़ाइलों के लिए कोई समर्पित यूआरएल-s की है।

क्या किसी को भी कोई विचार है कि Django मीडिया फ़ाइलों को कैसे सेवा दें? मैं समझता हूं कि लाइव वातावरण के लिए मुझे उस विशेष निर्देशिका की सेवा के लिए एक http सर्वर को कॉन्फ़िगर करने की आवश्यकता होगी, लेकिन अभी के लिए मैं हल्के विकास सूट को बनाए रखना चाहता हूं।

धन्यवाद।

+1

इस तरह की तरह http://stackoverflow.com/a/2040098/630877? – arie

उत्तर

0

मैं यूआरएल विशेषता एक रिश्तेदार यूआरएल (Django's FileField documentation) देता है लगता है, तो आप होना चाहिए:

return '<img src="{}"/>'.format(MEDIA_URL + self.content.url) 

सापेक्ष URL उपयोगकर्ता के रूप में के रूप में काम नहीं करेगा, "http: // localhost/पुस्तकों /" "http: //localhost/books/user_res/pictures/test.jpg" का अनुरोध करेगा।

4

नीचे दिखाए गए अनुसार अपनी urls.py फ़ाइल संपादित करें।

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

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

संपादित अपनी परियोजनाओं settings.py देखने के लिए की तरह:

#Rest of the settings 
MEDIA_URL = '/media/' 
MEDIA_ROOT = 'media' 
STATIC_ROOT = '' 
STATIC_URL = '/static/' 

कृपया एक उपयोगकर्ता ध्यान द्वारा अपलोड की गई फ़ाइलों की सेवा के बारे में आधिकारिक Django दस्तावेज़ पढ़ें। दस्तावेज़ों से लिंक: https://docs.djangoproject.com/en/1.5/howto/static-files/#serving-files-uploaded-by-a-user

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^