API för fillagringLink to this heading

Hämta standardlagringsklassLink to this heading

Django tillhandahåller praktiska sätt att komma åt standardlagringsklassen:

storagesLink to this definition

Ett ordboksliknande objekt som gör det möjligt att hämta en lagringsinstans med hjälp av dess alias enligt definitionen i STORAGES.

storages har ett attribut backends, vilket som standard är det råa värde som anges i STORAGES.

Dessutom tillhandahåller storages en create_storage()-metod som accepterar den ordbok som används i STORAGES för en backend, och returnerar en lagringsinstans baserad på den backend-definitionen. Detta kan vara användbart för tredjepartspaket som behöver instansiera lagringsenheter i tester:

Python console
>>> from django.core.files.storage import storages
>>> storages.backends
{'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'},
 'custom': {'BACKEND': 'package.storage.CustomStorage'}}
>>> storage_instance = storages.create_storage({"BACKEND": "package.storage.CustomStorage"})
class DefaultStorageLink to this definition

DefaultStorage ger latent åtkomst till standardlagringssystemet som definieras av default-nyckeln i STORAGES. DefaultStorage använder storages internt.

default_storageLink to this definition

default_storage är en instans av DefaultStorage.

Klassen FileSystemStorage (filsystemlagring)Link to this heading

class FileSystemStorage(location=None, base_url=None, file_permissions_mode=None, directory_permissions_mode=None, allow_overwrite=False)Link to this definition

Klassen FileSystemStorage implementerar grundläggande fillagring på ett lokalt filsystem. Den ärver från Storage och tillhandahåller implementationer för alla dess offentliga metoder.

locationLink to this definition

Absolut sökväg till den katalog som innehåller filerna. Standardvärdet är värdet i din MEDIA_ROOT-inställning.

base_urlLink to this definition

URL som används för de filer som lagras på den här platsen. Standardvärdet är värdet i din inställning MEDIA_URL.

file_permissions_modeLink to this definition

De filsystembehörigheter som filen ska få när den sparas. Standardvärde är FILE_UPLOAD_PERMISSIONS.

directory_permissions_modeLink to this definition

De filsystembehörigheter som katalogen ska få när den sparas. Standardvärde är FILE_UPLOAD_DIRECTORY_PERMISSIONS.

allow_overwriteLink to this definition

Flagga för att kontrollera om det är tillåtet att spara en ny fil över en befintlig. Standardvärdet är False.

get_created_time(name)Link to this definition

Returnerar en datetime av systemets ctime, d.v.s. os.path.getctime(). På vissa system (t.ex. Unix) är detta tidpunkten för den senaste ändringen av metadata, och på andra (t.ex. Windows) är det tidpunkten då filen skapades.

Klassen InMemoryStorage (minneslagring)Link to this heading

class InMemoryStorage(location=None, base_url=None, file_permissions_mode=None, directory_permissions_mode=None)Link to this definition

Klassen InMemoryStorage implementerar en minnesbaserad fillagring. Den har ingen persistens, men kan vara användbar för att påskynda tester genom att undvika diskåtkomst.

locationLink to this definition

Absolut sökväg till det katalognamn som tilldelats filer. Standardvärdet är värdet i din inställning MEDIA_ROOT.

base_urlLink to this definition

URL som används för de filer som lagras på den här platsen. Standardvärdet är värdet i din inställning MEDIA_URL.

file_permissions_modeLink to this definition

De filsystembehörigheter som tilldelas filer, tillhandahålls för kompatibilitet med FileSystemStorage. Standardvärde är FILE_UPLOAD_PERMISSIONS.

directory_permissions_modeLink to this definition

De filsystembehörigheter som tilldelas kataloger, tillhandahålls för kompatibilitet med FileSystemStorage. Standardvärde är FILE_UPLOAD_DIRECTORY_PERMISSIONS.

Klassen Storage (lagring)Link to this heading

class StorageLink to this definition

Klassen Storage tillhandahåller ett standardiserat API för lagring av filer, tillsammans med en uppsättning standardbeteenden som alla andra lagringssystem kan ärva eller åsidosätta efter behov.

delete(name)Link to this definition

Raderar filen som refereras till av namn. Om borttagning inte stöds på mållagringssystemet kommer detta att ge upphov till NotImplementedError istället.

exists(name)Link to this definition

Returnerar True om en fil som refereras till av det angivna namnet redan finns i lagringssystemet.

get_accessed_time(name)Link to this definition

Returnerar en datetime av den senaste åtkomsttiden för filen. För lagringssystem som inte kan returnera den senaste åtkomsttiden kommer detta att ge upphov till NotImplementedError.

Om USE_TZ är True, returneras en medveten datetime, annars returneras en naiv datetime i den lokala tidszonen.

get_alternative_name(file_root, file_ext)Link to this definition

Returnerar ett alternativt filnamn baserat på parametrarna file_root och file_ext, ett understreck plus en slumpmässig alfanumerisk sträng med 7 tecken läggs till filnamnet före tillägget.

get_available_name(name, max_length=None)Link to this definition

Returnerar ett filnamn baserat på parametern name som är ledigt och tillgängligt för att nytt innehåll ska kunna skrivas till på mållagringssystemet.

Längden på filnamnet kommer inte att överstiga max_length, om det anges. Om ett fritt unikt filnamn inte kan hittas, kommer ett SuspiciousFileOperation undantag att uppstå.

Om det redan finns en fil med namn anropas get_alternative_name() för att få ett alternativt namn.

get_created_time(name)Link to this definition

Returnerar en datetime av skapelsetiden för filen. För lagringssystem som inte kan returnera skapelsetiden kommer detta att ge upphov till NotImplementedError.

Om USE_TZ är True, returneras en medveten datetime, annars returneras en naiv datetime i den lokala tidszonen.

get_modified_time(name)Link to this definition

Returnerar en datetime av den senaste modifieringstiden för filen. För lagringssystem som inte kan returnera den senaste modifierade tiden kommer detta att ge upphov till NotImplementedError.

Om USE_TZ är True, returneras en medveten datetime, annars returneras en naiv datetime i den lokala tidszonen.

get_valid_name(name)Link to this definition

Returnerar ett filnamn baserat på parametern name som är lämpligt för användning på mållagringssystemet.

generate_filename(filename)Link to this definition

Validerar filnamnet genom att anropa get_valid_name() och returnerar ett filnamn som kan skickas till save()-metoden.

Argumentet filename kan innehålla en sökväg som returneras av FileField.upload_to. I så fall kommer sökvägen inte att skickas till get_valid_name() utan kommer att läggas till det resulterande namnet.

Standardimplementeringen använder os.path-operationer. Åsidosätt den här metoden om det inte är lämpligt för din lagring.

listdir(path)Link to this definition

Listar innehållet i den angivna sökvägen och returnerar en 2-tupel av listor; det första objektet är kataloger och det andra objektet är filer. För lagringssystem som inte kan tillhandahålla en sådan lista kommer detta att ge upphov till ett NotImplementedError istället.

open(name, mode='rb')Link to this definition

Öppnar filen som anges av name. Observera att även om den returnerade filen garanterat är ett File-objekt, kan det i själva verket vara någon underklass. I fallet med fjärrlagring av filer innebär detta att läsning/skrivning kan vara ganska långsam, så var försiktig.

path(name)Link to this definition

Sökvägen till det lokala filsystemet där filen kan öppnas med Pythons standard open(). För lagringssystem som inte är tillgängliga från det lokala filsystemet kommer detta att ge upphov till NotImplementedError istället.

save(name, content, max_length=None)Link to this definition

Sparar en ny fil i lagringssystemet, företrädesvis med det angivna namnet. Om det redan finns en fil med detta namn namn kan lagringssystemet ändra filnamnet efter behov för att få ett unikt namn. Det faktiska namnet på den lagrade filen kommer att returneras.

Argumentet max_length skickas vidare till get_available_name().

Argumentet content måste vara en instans av django.core.files.File eller ett filliknande objekt som kan omslutas av File.

size(name)Link to this definition

Returnerar den totala storleken, i byte, på filen som refereras av namn. För lagringssystem som inte kan returnera filstorleken kommer detta att ge upphov till NotImplementedError istället.

url(name)Link to this definition

Returnerar URL:en där innehållet i filen som refereras till av name kan nås. För lagringssystem som inte stöder åtkomst via URL kommer detta att ge upphov till NotImplementedError istället.