Django application for image assets management
Project description
django-image-assets
Django application for image assets management.
Use case
- There are several content types on a web site
- Each of them has a set of required or additional image assets
- Every asset of same asset type must satisfy custom constraints on dimensions, format and file size.
- The most important thing: these constraints and required asset type sets are updated often, along with web design evolves and more platforms are added.
Installation
pip install django-image-assets
Working example is in testproject.testapp.
-
Add
image_assetsapplication to installed apps in django settings:INSTALLED_APPS.append('image_assets')
-
Add generic relation to your content models:
from django.contrib.contenttypes.fields import GenericRelation from django.db import models from image_assets.models import Asset class Video(models.Model): assets = GenericRelation(Asset, blank=True)
-
Setup inlines for assets
from django.contrib import admin from image_assets.admin import AssetsInline from testproject.testapp import models @admin.register(models.Video) class VideoAdmin(admin.ModelAdmin): inlines = (AssetsInline,)
Usage
- Create new asset type (i.e. "thumbnail")
- Add
Videotoallowed_forset: now you can add a thumbnail to a video. Or you may skip this asset. - Add
Articletorequired_forset: now you will able to create or edit an article with valid "thumbnail" asset only. - When an asset is deleted, it's file is owned by
DeletedAssetobject and may be wiped later by manual or automatic cleanup.
Advanced
If you need to alter model fields i.e. for AssetType, you may subclass
existing model and than change image_assets application settings.
- Subclass
AssetTypemodelfrom django.db import models from image_assets.models import AssetType class MyAssetType(AssetType): some_feature_flag = models.BooleanField(default=False)
- Change a reference to an asset type model in settings:
IMAGE_ASSETS_CONFIG = { 'ASSET_TYPE_MODEL': 'my_app.MyAssetType', 'ASSET_MODEL': 'image_assets.Asset', 'DELETED_ASSET_MODEL': 'image_assets.DeletedAsset' }
image_assets.AssetTypewill be declared as abstract andMyAssetTypewill be returned as result ofimage_assets.models.get_asset_type_model()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_image_assets-1.0.0.tar.gz.
File metadata
- Download URL: django_image_assets-1.0.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cd908cb4656bc17e4f5a1be2a3a47903700636733afc778d8e9f8facf65cb69
|
|
| MD5 |
95d309de5c340112e847488cf6720d5a
|
|
| BLAKE2b-256 |
3d04a1e8f5f8da0e0903dbf272ec4d2af36cb20385bd8b520da45e9d610762c8
|
File details
Details for the file django_image_assets-1.0.0-py3-none-any.whl.
File metadata
- Download URL: django_image_assets-1.0.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ce6b97354f9becc834469e9d2f35894c07c9feae8e09b711d0205f7699a7b1e
|
|
| MD5 |
25d012785c33af5228b38b20f767e703
|
|
| BLAKE2b-256 |
7d518ec692e7984d49b5a5c7d98cbb43b4a21ccdfb0d3ce2a0122ef075cbafc3
|