A reusable Django app that allows you to add translatable tags to any other model.
Project description
A reusable Django app that allows you to add translatable tags to any other model.
Installation
To get the latest stable release from PyPi
pip install django-multilingual-tags
To get the latest commit from GitHub
pip install -e git+git://github.com/bitmazk/django-multilingual-tags.git#egg=multilingual_tags
Add multilingual_tags to your INSTALLED_APPS
INSTALLED_APPS = ( ..., 'multilingual_tags', )
Don’t forget to migrate your database
./manage.py migrate multilingual_tags
Usage
To add tags to a model, you have to add the TaggedItemInline to that model’s admin. In your own apps, you can just do the following:
from django.contrib import admin from multilingual_tags.admin import MultilingualTagsAdminMixin from my_app import models class MyModelAdmin(admin.ModelAdmin): inlines = [TaggedItemInline] admin.site.register(models.MyModel, MyModelAdmin)
This will render the inline admin form for adding tagged items.
If you want to add tags to a third party app, you might need to import its admin instead of Django’s ModelAdmin and then unregister and re-register the model. One way to do it would be this:
from django.contrib import admin from multilingual_tags.admin import TaggedItemInline from other_app.admin import SomeModelAdmin from other_app.models import SomeModel class SomeModelCustomAdmin(SomeModelAdmin): # be careful, if the other admin also defines admins, you need to add # them as well inlines = SomeModelAdmin.inlines + [TaggedItemInline] admin.site.unregister(SomeModel) admin.site.register(SomeModel, SomeModelCustomAdmin)
To get all the tags for an object, you can simply use the TagManager:
# Get all tags for a certain model instance >> Tag.objects.get_for_obj(mymodel_instance) [<Tag: mytag>, <Tag: myothertag>] # .. or get all tags for an entire queryset >> Tag.objects.get_for_queryset(MyModel.objects.all()) [<Tag: mytag>, <Tag: myothertag>]
Contribute
If you want to contribute to this project, please perform the following steps
# Fork this repository # Clone your fork mkvirtualenv -p python2.7 django-multilingual-tags make develop git co -b feature_branch master # Implement your feature and tests git add . && git commit git push -u origin feature_branch # Send us a pull request for your feature branch
Project details
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size django-multilingual-tags-0.4.tar.gz (9.2 kB) | File type Source | Python version None | Upload date | Hashes View hashes |
Hashes for django-multilingual-tags-0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16247229c373c9420acc05024df9953d0ae5e315e380758000eda6c93efe2982 |
|
MD5 | ea500d611d2618dcabd396381fc3f3e9 |
|
BLAKE2-256 | 55eed18b83c6176f9060e71b5671f444eb19cd7aa3e2f68595f9bb7701ff5b0b |