diff --git a/README.md b/README.md index 795efde..81d2cf4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,19 @@ +

+ + + + Django DynFN: Advanced filename patterns using f-Strings + +
+ Documentation | + Issues | + Changelog | + Funding 💚 +

+ # Django Dynamic Filenames -Write advanced filename patterns using the [Format String -Syntax](https://docs.python.org/3/library/string.html#format-string-syntax). +Write advanced filename patterns using the [Format String Syntax](https://docs.python.org/3/library/string.html#format-string-syntax). ## Getting Started @@ -35,77 +47,32 @@ Auto slug example: ### Field names -`ext` - -: File extension including the dot. - -`name` - -: Filename excluding the folders. - -`model_name` - -: Name of the Django model. - -`app_label` +- `ext`: File extension including the dot. +- `name`: Filename excluding the folders. +- `model_name`: Name of the Django model. +- `app_label`: App label of the Django model. +- `instance`: Instance of the model before it has been saved. You may not have a primary key at this point. +- `uuid`: UUID version 4 that supports multiple type specifiers. + The UUID will be the same should you use it twice in the same string, + but different on each invocation of the `upload_to` callable. -: App label of the Django model. - -`instance` - -: Instance of the model before it has been saved. You may not have a -primary key at this point. - -`uuid` - -: UUID version 4 that supports multiple type specifiers. The UUID will -be the same should you use it twice in the same string, but -different on each invocation of the `upload_to` callable. - -``` The type specifiers allow you to format the UUID in different ways, e.g. `{uuid:x}` will give you a with a hexadecimal UUID. The supported type specifiers are: -`s` +- `s`: String representation of a UUID including dashes. +- `i`: Integer representation of a UUID. Like to `UUID.int`. +- `x`: Hexadecimal (Base16) representation of a UUID. Like to `UUID.hex`. +- `X`: Upper case hexadecimal representation of a UUID. Like to `UUID.hex`. +- `base32`: Base32 representation of a UUID without padding. +- `base64`: Base64 representation of a UUID without padding. -: String representation of a UUID including dashes. +> [!WARNING] +> Not all file systems support Base64 file names. -`i` - -: Integer representation of a UUID. Like to `UUID.int`. - -`x` - -: Hexadecimal (Base16) representation of a UUID. Like to - `UUID.hex`. - -`X` - -: Upper case hexadecimal representation of a UUID. Like to - `UUID.hex`. - -`base32` - -: Base32 representation of a UUID without padding. - -`base64` - -: Base64 representation of a UUID without padding. - - :::: warning - ::: title - Warning - ::: - - Not all file systems support Base64 file names. - :::: - -All type specifiers also support precisions to cut the string, e.g. -`{{uuid:.2base32}}` would only return the first 2 characters of a -Base32 encoded UUID. -``` +All type specifiers also support precisions to cut the string, +e.g. `{{uuid:.2base32}}` would only return the first 2 characters of a Base32 encoded UUID. ### Type specifiers diff --git a/images/logo-dark.svg b/images/logo-dark.svg new file mode 100644 index 0000000..58cf288 --- /dev/null +++ b/images/logo-dark.svg @@ -0,0 +1,16 @@ + + + + + + + + Django + + + DynFN + + + Advanced filename patterns using f-Strings + + diff --git a/images/logo-light.svg b/images/logo-light.svg new file mode 100644 index 0000000..e41436c --- /dev/null +++ b/images/logo-light.svg @@ -0,0 +1,16 @@ + + + + + + + + Django + + + DynFN + + + Advanced filename patterns using f-Strings + +