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.storageshar ett attributbackends, vilket som standard är det råa värde som anges iSTORAGES.Dessutom tillhandahåller
storagesencreate_storage()-metod som accepterar den ordbok som används iSTORAGESfö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:>>> 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
DefaultStorageger latent åtkomst till standardlagringssystemet som definieras avdefault-nyckeln iSTORAGES.DefaultStorageanvänderstoragesinternt.
- default_storageLink to this definition
default_storageär en instans avDefaultStorage.
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
FileSystemStorageimplementerar grundläggande fillagring på ett lokalt filsystem. Den ärver frånStorageoch 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
datetimeav 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
InMemoryStorageimplementerar 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 ärFILE_UPLOAD_PERMISSIONS.
- directory_permissions_modeLink to this definition
De filsystembehörigheter som tilldelas kataloger, tillhandahålls för kompatibilitet med
FileSystemStorage. Standardvärde ärFILE_UPLOAD_DIRECTORY_PERMISSIONS.
Klassen Storage (lagring)Link to this heading
- class StorageLink to this definition
Klassen
Storagetillhandahå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 tillNotImplementedErroristället.
- exists(name)Link to this definition
Returnerar
Trueom en fil som refereras till av det angivna namnet redan finns i lagringssystemet.
- get_accessed_time(name)Link to this definition
Returnerar en
datetimeav den senaste åtkomsttiden för filen. För lagringssystem som inte kan returnera den senaste åtkomsttiden kommer detta att ge upphov tillNotImplementedError.Om
USE_TZärTrue, returneras en medvetendatetime, annars returneras en naivdatetimei den lokala tidszonen.
- get_alternative_name(file_root, file_ext)Link to this definition
Returnerar ett alternativt filnamn baserat på parametrarna
file_rootochfile_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
namesom ä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 ettSuspiciousFileOperationundantag att uppstå.Om det redan finns en fil med
namnanropasget_alternative_name()för att få ett alternativt namn.
- get_created_time(name)Link to this definition
Returnerar en
datetimeav skapelsetiden för filen. För lagringssystem som inte kan returnera skapelsetiden kommer detta att ge upphov tillNotImplementedError.Om
USE_TZärTrue, returneras en medvetendatetime, annars returneras en naivdatetimei den lokala tidszonen.
- get_modified_time(name)Link to this definition
Returnerar en
datetimeav den senaste modifieringstiden för filen. För lagringssystem som inte kan returnera den senaste modifierade tiden kommer detta att ge upphov tillNotImplementedError.Om
USE_TZärTrue, returneras en medvetendatetime, annars returneras en naivdatetimei den lokala tidszonen.
- get_valid_name(name)Link to this definition
Returnerar ett filnamn baserat på parametern
namesom är lämpligt för användning på mållagringssystemet.
- generate_filename(filename)Link to this definition
Validerar
filnamnetgenom att anropaget_valid_name()och returnerar ett filnamn som kan skickas tillsave()-metoden.Argumentet
filenamekan innehålla en sökväg som returneras avFileField.upload_to. I så fall kommer sökvägen inte att skickas tillget_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
NotImplementedErroristället.
- open(name, mode='rb')Link to this definition
Öppnar filen som anges av
name. Observera att även om den returnerade filen garanterat är ettFile-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 tillNotImplementedErroristä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
namnkan lagringssystemet ändra filnamnet efter behov för att få ett unikt namn. Det faktiska namnet på den lagrade filen kommer att returneras.Argumentet
max_lengthskickas vidare tillget_available_name().Argumentet
contentmåste vara en instans avdjango.core.files.Fileeller ett filliknande objekt som kan omslutas avFile.
- 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 tillNotImplementedErroristället.
- url(name)Link to this definition
Returnerar URL:en där innehållet i filen som refereras till av
namekan nås. För lagringssystem som inte stöder åtkomst via URL kommer detta att ge upphov tillNotImplementedErroristället.