क्या किसी को भी Django के साथ azure-storage का उपयोग करने पर कोई सुझाव है? मैं पूछता हूं क्योंकि वर्तमान में मैं अपने Django ऐप के लिए Azure क्लाउड स्टोरेज सेट अप करने की कोशिश कर रहा हूं (उबंटू ओएस के साथ एज़ूर वीएम पर होस्ट किया गया), और django-storages
अज़ूर स्टोरेज एसडीके के साथ सही ढंग से इंटरफेसिंग नहीं लग रहा है (ज्ञात समस्या: see here)। मेरे डीजेगो संस्करण < 1.6.2 दिए गए फिक्स में सूचीबद्ध फिक्स मेरे लिए काम नहीं करेगा।Django के साथ एज़ूर स्टोरेज एसडीके का उपयोग करना (और पूरी तरह से django-storages पर निर्भरता को हटा देना)
इस प्रकार मुझे Django के साथ सीधे Azure-storage का उपयोग करने की आवश्यकता होगी। क्या किसी ने इसे पहले स्थापित किया है? मुझे क्लाउड स्टोरेज पर छवियों और एमपी 3 को सहेजने की आवश्यकता है।
वर्तमान में, मेरी models.py में, मेरे पास है:
def upload_to_location(instance, filename):
try:
blocks = filename.split('.')
ext = blocks[-1]
filename = "%s.%s" % (uuid.uuid4(), ext)
instance.title = blocks[0]
return os.path.join('uploads/', filename)
except Exception as e:
print '%s (%s)' % (e.message, type(e))
return 0
class Photo(models.Model):
description = models.TextField(validators=[MaxLengthValidator(500)])
submitted_on = models.DateTimeField(auto_now_add=True)
image_file = models.ImageField(upload_to=upload_to_location, null=True, blank=True)
और फिर django-storages
और बाकी के boto
ले देखभाल। हालांकि, जब मैं Django-भंडार Azure क्लाउड संग्रहण के साथ हुक, मैं निम्नलिखित त्रुटि मिलती है:
Exception Value:
'module' object has no attribute 'WindowsAzureMissingResourceError'
Exception Location:
/home/mhb11/.virtualenvs/myvirtualenv/local/lib/python2.7/site-packages/storages/backends/azure_storage.py in exists, line 46
और कोड के प्रासंगिक टुकड़ा है:
def exists(self, name):
try:
self.connection.get_blob_properties(
self.azure_container, name)
except azure.WindowsAzureMissingResourceError:
return False
else:
return True
लगता है कि Azure करने के लिए कनेक्शन कंटेनर असफल रहा है। मेरी settings.py में, मेरे पास है:
DEFAULT_FILE_STORAGE = 'storages.backends.azure_storage.AzureStorage'
AZURE_ACCOUNT_NAME = 'photodatabasestorage'
AZURE_ACCOUNT_KEY = 'something'
AZURE_CONTAINER = 'somecontainer'
पहले वर्णित के रूप में, मैं एक समाधान है कि Django-भंडार पूरी तरह से नजरअंदाज जरूरत है, और सिर्फ काम किया पाने के लिए Azure संग्रहण एसडीके पर निर्भर करता है।
नोट: यदि आपको इसकी आवश्यकता हो तो मुझे अधिक जानकारी के लिए पूछें।
आप जल्दी से स्पष्ट कर सकते हैं क्या 'PROJECT_ROOT' है:
यहाँ Django अनुप्रयोग में परीक्षण कोड का टुकड़ा है? –
यह ओएस –
हम्म में आपके एप्लिकेशन का एब्स पथ है, इसलिए मुझे किसी भी तरह से 'blob_service.put_block_blob_from_path' (या' put_block_blob_from_file') के साथ मेरी छवि फ़ील्ड विशेषता में 'upload_to' को ओवरराइड करने की आवश्यकता होगी)? –