Wie ändere ich Django -Standarddateien Speicher in Cloudinary -Speicher für Mediendateien?Python

Python-Programme
Anonymous
 Wie ändere ich Django -Standarddateien Speicher in Cloudinary -Speicher für Mediendateien?

Post by Anonymous »

Ich arbeite am Django -Projekt. Es funktioniert gut mit dem lokalen Speicher und hat beschlossen, Cloudinary für Medienspeicher zu verwenden, und dann aus irgendeinem Grund, dass der Dateispeicher nicht in Cloudinary Media-Speicher wechselt. < /P>
Hier ist meine Einstellungen.

Code: Select all

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

"listings",

"rest_framework",
"rest_framework_simplejwt",
"corsheaders",
'django_filters',

'cloudinary_storage',
'cloudinary',
]

# Cloudinary config
CLOUDINARY_STORAGE = {
"CLOUD_NAME": config("CLOUDINARY_CLOUD_NAME"),
"API_KEY": config("CLOUDINARY_API_KEY"),
"API_SECRET": config("CLOUDINARY_API_SECRET"),
}

cloudinary.config(
cloud_name = config('CLOUDINARY_CLOUD_NAME'),
api_key = config('CLOUDINARY_API_KEY'),
api_secret = config('CLOUDINARY_API_SECRET')
)

DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
< /code>
Model.py-Datei: < /p>
class Amenity(models.Model):
name = models.CharField(max_length=100, unique=True)
icon = models.ImageField(upload_to='amenity_icons/', null=True)
< /code>
Ich habe versucht, mit dem Administratorfeld hochzuladen. Es speichert lokal trotz der Einstellungen default_file_storage 
to 'cloudinary_storage.storage.mediaCloudinaryStorage'
Die Umgebungskonfiguration ist richtig geladen (ich habe durch Drucken).

Code: Select all

>>> from django.conf import settings
>>> from django.core.files.storage import default_storage
>>> print(settings.DEFAULT_FILE_STORAGE)
cloudinary_storage.storage.MediaCloudinaryStorage
>>> print(default_storage.__class__)

< /code>
Ich werde arbeiten, wenn ich in jedem Bildfeld in jedem Modell manuell angeben werde.from cloudinary_storage.storage import MediaCloudinaryStorage

class Amenity(models.Model):
name = models.CharField(max_length=100, unique=True)
icon = models.ImageField(
upload_to='amenity_icons/',
null=True,
storage=MediaCloudinaryStorage
)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post