mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-28 00:17:06 +01:00
61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
|
(storing_and_serving)=
|
|||
|
|
|||
|
# Storing and serving
|
|||
|
|
|||
|
Wagtail follows [Django’s conventions for managing uploaded files](django:topics/files). For configuration of `FileSystemStorage` and more information on handling user uploaded files, see [](user_uploaded_files).
|
|||
|
|
|||
|
## File storage location
|
|||
|
|
|||
|
Wagtail uses the [DEFAULT_FILE_STORAGE](https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-DEFAULT_FILE_STORAGE) setting to determine where and how user-uploaded files are stored. By default, Wagtail stores files in the local filesystem.
|
|||
|
|
|||
|
## Serving documents
|
|||
|
|
|||
|
Document serving is controlled by the [WAGTAILDOCS_SERVE_METHOD](wagtaildocs_serve_method) method. It provides a number of serving methods which trade some of the strictness of the permission check that occurs when normally handling a document request for performance.
|
|||
|
|
|||
|
The serving methods provided are `direct`, `redirect` and `serve_view`, with `redirect` method being the default when `WAGTAILDOCS_SERVE_METHOD` is unspecified or set to `None`. For example:
|
|||
|
|
|||
|
```python
|
|||
|
WAGTAILDOCS_SERVE_METHOD = "redirect"
|
|||
|
```
|
|||
|
|
|||
|
## Content types
|
|||
|
|
|||
|
Wagtail provides the [WAGTAILDOCS_CONTENT_TYPES](wagtaildocs_content_types) setting to specify which document content types are allowed to be uploaded. For example:
|
|||
|
|
|||
|
```python
|
|||
|
WAGTAILDOCS_CONTENT_TYPES = {
|
|||
|
'pdf': 'application/pdf',
|
|||
|
'txt': 'text/plain',
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
## Inline content types
|
|||
|
|
|||
|
Inline content types can be specified using [WAGTAILDOCS_INLINE_CONTENT_TYPES](wagtaildocs_inline_content_types), are displayed within the rich text editor.
|
|||
|
|
|||
|
For example:
|
|||
|
|
|||
|
```python
|
|||
|
WAGTAILDOCS_INLINE_CONTENT_TYPES = ['application/pdf', 'text/plain']
|
|||
|
```
|
|||
|
|
|||
|
## File extensions
|
|||
|
|
|||
|
Wagtail allows you to specify the permitted file extensions for document uploads using the [WAGTAILDOCS_EXTENSIONS](wagtaildocs_extensions) setting.
|
|||
|
|
|||
|
It also validates the extensions using Django's [FileExtensionValidator](django:ref/validators#fileextensionvalidator). For example:
|
|||
|
|
|||
|
```python
|
|||
|
WAGTAILDOCS_EXTENSIONS = ['pdf', 'docx']
|
|||
|
```
|
|||
|
|
|||
|
## Document password required template
|
|||
|
|
|||
|
Wagtail provides the `DOCUMENT_PASSWORD_REQUIRED_TEMPLATE` setting to use a custom template when a password is required to access a protected document. Read more about [](private_pages).
|
|||
|
|
|||
|
Here's an example:
|
|||
|
|
|||
|
```python
|
|||
|
DOCUMENT_PASSWORD_REQUIRED_TEMPLATE = 'myapp/document_password_required.html'
|
|||
|
```
|