{
"info": {
"author": "Daniel Kaufhold",
"author_email": "daniel.kaufhold@bitmazk.com",
"bugtrack_url": null,
"classifiers": [],
"description": "Django Multilingual Tags\n========================\n\nA reusable Django app that allows you to add translatable tags to any other\nmodel.\n\nInstallation\n------------\n\nTo get the latest stable release from PyPi\n\n.. code-block:: bash\n\n pip install django-multilingual-tags\n\nTo get the latest commit from GitHub\n\n.. code-block:: bash\n\n pip install -e git+git://github.com/bitmazk/django-multilingual-tags.git#egg=multilingual_tags\n\n\nAdd ``multilingual_tags`` to your ``INSTALLED_APPS``\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...,\n 'multilingual_tags',\n )\n\n\nDon't forget to migrate your database\n\n.. code-block:: bash\n\n ./manage.py migrate multilingual_tags\n\n\nUsage\n-----\n\nAdd a generic relation to the model, that you intend to tag.\n\n.. code-block:: python\n\n from django.contrib.contenttypes import generic\n from django.db import models\n\n\n class UserProfile(models.Model):\n\n # ...\n # some other model stuff goes here\n # ...\n\n special_attributes = generic.GenericRelation(\n 'multilingual_tags.TaggedItem',\n )\n\n\nAdd the ``TaggingFormMixin`` to any of your modelforms of a model, you want to\ntag and configure the field with the settings dictionary. ``allowed_tags``\nconfigures how many tags a user may add. If it's set to 0 (default), it means,\nthat the input is not limited.\n\n.. code-block:: python\n\n from django import forms\n\n from multilingual_tags.forms.mixins import TaggingFormMixin\n\n\n class UserProfileForm(TaggingFormMixin, forms.ModelForm):\n\n tag_field = {\n # ``name`` is the name of the ``GenericRelation`` that was added to\n # the model\n 'name': 'special_attributes',\n 'label': _('Special Attributes'),\n 'help_text': _('List any special attributes separated with comma.'),\n 'required': False,\n 'max_tags': 0,\n }\n\n\nThe form mixin will automatically add ``data-class=\"multilingual-tags-field\"``\nto the form field. This allows you to easily add ``jquery-typeahead-tagging``\nto your field, which is included in this app.\n\nSimply add the static files from ``multilingual_tags`` to your template.\n\n.. code-block:: html\n\n {% load static %}\n\n {# Plain Bootstrap-like styles. #}\n \n\n {# You will also need jquery of course. #}\n \n\n {# And then there's typeahead and the tagging plugin. #}\n \n \n\n\nThen you can initialize your tagging field like so:\n\n.. code-block:: javascript\n\n\n // The source of the tags for autocompletion\n var tagsource = ['Foo', 'Bar', 'Anoter Tag', 'Even more tags',\n 'Such autocomplete', 'Many tags', 'Wow'];\n\n // Turn the input into the tagging input\n $('[data-class=\"multilingual-tags-field\"]').tagging(tagsource);\n\n\nEt voila! That should really be all there is.\n\n\nStoring the user\n++++++++++++++++\n\nFor easier access later on, you can store the user, that the tagged item belongs\nto on the ``TaggedItem`` itself. The form mixin will check if the instance of\nthe ``ModelForm`` you use it with has a ``get_user`` method for that matter.\n\n.. code-block:: python\n\n class MyObject(models.Model):\n\n # here goes my model implementation\n\n def get_user(self):\n \"\"\"Here I can return the user I want on the TaggedItem\"\"\"\n return self.user\n\n\nAdmin\n+++++\n\nTo add tags to a model, you have to add the ``TaggedItemInline`` to\nthat model's admin. In your own apps, you can just do the following:\n\n.. code-block:: python\n\n from django.contrib import admin\n\n from multilingual_tags.admin import TaggedItemInline\n\n from my_app import models\n\n class MyModelAdmin(admin.ModelAdmin):\n inlines = [TaggedItemInline]\n\n admin.site.register(models.MyModel, MyModelAdmin)\n\nThis will render the inline admin form for adding tagged items.\n\nIf you want to add tags to a third party app, you might need to import its\nadmin instead of Django's ``ModelAdmin`` and then unregister and re-register\nthe model. One way to do it would be this:\n\n.. code-block:: python\n\n from django.contrib import admin\n\n from multilingual_tags.admin import TaggedItemInline\n\n from other_app.admin import SomeModelAdmin\n from other_app.models import SomeModel\n\n class SomeModelCustomAdmin(SomeModelAdmin):\n # be careful, if the other admin also defines admins, you need to add\n # them as well\n inlines = SomeModelAdmin.inlines + [TaggedItemInline]\n\n admin.site.unregister(SomeModel)\n admin.site.register(SomeModel, SomeModelCustomAdmin)\n\n\nTo get all the tags for an object, you can simply use the `TagManager`:\n\n.. code-block:: python\n\n # Get all tags for a certain model instance\n >> Tag.objects.get_for_obj(mymodel_instance)\n\n [, ]\n\n # .. or get all tags for an entire queryset\n >> Tag.objects.get_for_queryset(MyModel.objects.all())\n\n [, ]\n\n\n\nContribute\n----------\n\nIf you want to contribute to this project, please perform the following steps\n\n.. code-block:: bash\n\n # Fork this repository\n # Clone your fork\n mkvirtualenv -p python2.7 django-multilingual-tags\n make develop\n\n git co -b feature_branch master\n # Implement your feature and tests\n git add . && git commit\n git push -u origin feature_branch\n # Send us a pull request for your feature branch",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/bitmazk/django-multilingual-tags",
"keywords": "django,app,reusable,translatable,tags,tagging,tag,multilingual",
"license": "The MIT License",
"maintainer": null,
"maintainer_email": null,
"name": "django-multilingual-tags",
"package_url": "https://pypi.org/project/django-multilingual-tags/",
"platform": "OS Independent",
"project_url": "https://pypi.org/project/django-multilingual-tags/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/bitmazk/django-multilingual-tags"
},
"release_url": "https://pypi.org/project/django-multilingual-tags/0.9.1/",
"requires_dist": null,
"requires_python": null,
"summary": "A reusable Django app that allows you to add translatable tags to any other model.",
"version": "0.9.1"
},
"last_serial": 1970609,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "c21174fac32a5ecdcd285f61fa050b20",
"sha256": "0cdccc51b2a3e7ef749a5344a89b1439359990faeb529e0b41d5834af081bc32"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.1.tar.gz",
"has_sig": false,
"md5_digest": "c21174fac32a5ecdcd285f61fa050b20",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8394,
"upload_time": "2014-03-06T10:04:10",
"url": "https://files.pythonhosted.org/packages/b9/b4/bb8e20fd3b342ae60efab1dcbd88a113572ff8707f400528abc76e5fea8c/django-multilingual-tags-0.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "8a7b1963b3c95f6625c57c2d3099ad52",
"sha256": "44ab583a44a913f012102818fd5af5c40689f35eeea61e0416fdae477e78c432"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.2.tar.gz",
"has_sig": false,
"md5_digest": "8a7b1963b3c95f6625c57c2d3099ad52",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8380,
"upload_time": "2014-03-06T10:26:50",
"url": "https://files.pythonhosted.org/packages/0a/3a/e84eebe3e62ed9497e8e2129d9d2db65d19193de80b1eb169acf83a01c28/django-multilingual-tags-0.2.tar.gz"
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "87fbf042496b609b202387f2b0830bf7",
"sha256": "c55be4041fe1ae2062ef31b0725eea182a243b6419b72a5ced668a9406f73880"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.3.tar.gz",
"has_sig": false,
"md5_digest": "87fbf042496b609b202387f2b0830bf7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8873,
"upload_time": "2014-03-06T10:51:42",
"url": "https://files.pythonhosted.org/packages/a1/de/729588061924534c94357b306169b1a940a5764306404133d19ddca30f97/django-multilingual-tags-0.3.tar.gz"
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "ea500d611d2618dcabd396381fc3f3e9",
"sha256": "16247229c373c9420acc05024df9953d0ae5e315e380758000eda6c93efe2982"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.4.tar.gz",
"has_sig": false,
"md5_digest": "ea500d611d2618dcabd396381fc3f3e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9159,
"upload_time": "2014-03-06T14:43:25",
"url": "https://files.pythonhosted.org/packages/55/ee/d18b83c6176f9060e71b5671f444eb19cd7aa3e2f68595f9bb7701ff5b0b/django-multilingual-tags-0.4.tar.gz"
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "86a6ddf3654edc63b24a49a43fe11493",
"sha256": "3f22c45fb65336a1354f1a2fb521175b3fe7832937dfa9daa79ea401dec4024f"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.5.tar.gz",
"has_sig": false,
"md5_digest": "86a6ddf3654edc63b24a49a43fe11493",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23411,
"upload_time": "2014-08-09T12:15:10",
"url": "https://files.pythonhosted.org/packages/5f/5f/ff41aaa3e1d1f4a1d39091ab7922f84e9e1e20d0b2931347a0a634966ddb/django-multilingual-tags-0.5.tar.gz"
}
],
"0.5.1": [
{
"comment_text": "",
"digests": {
"md5": "224ddf075dafe72c20c45357457e0ee8",
"sha256": "2a9afac33a0ad796c079ab38d8e3e4f44794a8e2b2cd0078613157bc03d87193"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "224ddf075dafe72c20c45357457e0ee8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23459,
"upload_time": "2014-08-14T11:55:48",
"url": "https://files.pythonhosted.org/packages/80/fd/0adf5f74b5e39776fbed123ea612d3cc120677f90ee53543fadcaf9c9a43/django-multilingual-tags-0.5.1.tar.gz"
}
],
"0.5.2": [
{
"comment_text": "",
"digests": {
"md5": "2945b350139f7b637723642ee341631b",
"sha256": "f805e771de6c30fe7c3918680bcb7154c4511e8d03a7145b777d0e4d6bdd3d5c"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.5.2.tar.gz",
"has_sig": false,
"md5_digest": "2945b350139f7b637723642ee341631b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23488,
"upload_time": "2014-08-14T12:05:38",
"url": "https://files.pythonhosted.org/packages/86/51/c1ff33fa5cb69564d9671e88530c5a761eb34f5f0c5420d02ed331b8cac2/django-multilingual-tags-0.5.2.tar.gz"
}
],
"0.5.3": [
{
"comment_text": "",
"digests": {
"md5": "ed318f873b44dbb6d67530afc571801b",
"sha256": "780c468ef10dad05ab1dca15e546954982fc31b10ce59a7ce77181690c4ba200"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.5.3.tar.gz",
"has_sig": false,
"md5_digest": "ed318f873b44dbb6d67530afc571801b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23661,
"upload_time": "2014-09-03T18:13:42",
"url": "https://files.pythonhosted.org/packages/1f/a2/da68090cec312cba0650d769a414773203470e2b02e9dafaffee49a4f908/django-multilingual-tags-0.5.3.tar.gz"
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "3a72d9708918e68c27e39a2735b7284a",
"sha256": "fa44ee6cf14efb49be3676a3ff6598a02e89c80acba52a8c49052493b3a734ba"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.6.tar.gz",
"has_sig": false,
"md5_digest": "3a72d9708918e68c27e39a2735b7284a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 24016,
"upload_time": "2014-09-04T10:53:45",
"url": "https://files.pythonhosted.org/packages/bf/fd/4e352d41e3e21028bae956dc8d1950d06d17ab5d283c5e87acd4a5a300ad/django-multilingual-tags-0.6.tar.gz"
}
],
"0.7": [
{
"comment_text": "",
"digests": {
"md5": "88cb53a498c054b03e1ada154651a883",
"sha256": "95a0a1b904a6fb2024b05fd221c7eee0f1dcd8608a296b7b2244c1c4d347ea7c"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.7.tar.gz",
"has_sig": false,
"md5_digest": "88cb53a498c054b03e1ada154651a883",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25450,
"upload_time": "2014-09-17T13:46:56",
"url": "https://files.pythonhosted.org/packages/2f/b0/d24b3be4304db1fb95367558f4b0d5122de6c9153af6945863076d20caef/django-multilingual-tags-0.7.tar.gz"
}
],
"0.8": [
{
"comment_text": "",
"digests": {
"md5": "0d4bb97e0ab19dbf536eb5c349ddf262",
"sha256": "0b6bcd6173bd55bde016ce86440249889eddc51779a48180da6dab5a53b45861"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.8.tar.gz",
"has_sig": false,
"md5_digest": "0d4bb97e0ab19dbf536eb5c349ddf262",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25511,
"upload_time": "2014-09-19T12:04:20",
"url": "https://files.pythonhosted.org/packages/79/9e/6e1d027192cdf7d4a2f5cb7d1f142749c14e145edb2c8b5fa7c0d25af17a/django-multilingual-tags-0.8.tar.gz"
}
],
"0.8.1": [
{
"comment_text": "",
"digests": {
"md5": "ad8ae151389fe4ff94d734475681ee09",
"sha256": "1a28d9c368ae4f8434f485911263b2560a3bd198ca5d628f62c82ea9a8755ea2"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "ad8ae151389fe4ff94d734475681ee09",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25535,
"upload_time": "2014-09-26T09:38:49",
"url": "https://files.pythonhosted.org/packages/db/dd/68da86c51165038e33873529f48d10018b014953f90114480981bea47c08/django-multilingual-tags-0.8.1.tar.gz"
}
],
"0.8.2": [
{
"comment_text": "",
"digests": {
"md5": "05e9e80f4cee5132d1af3b3bd234147b",
"sha256": "339b6a479b3088eeb1a969bce76e3b65d9ff4ed4c2e81d1dd4146741d8f097c2"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.8.2.tar.gz",
"has_sig": false,
"md5_digest": "05e9e80f4cee5132d1af3b3bd234147b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28853,
"upload_time": "2014-12-05T10:02:42",
"url": "https://files.pythonhosted.org/packages/2d/2d/48eded20b5b8f7ea812c8c7fcc20a3c2bee9917c602ebfdb3b3478011f06/django-multilingual-tags-0.8.2.tar.gz"
}
],
"0.8.4": [
{
"comment_text": "",
"digests": {
"md5": "fbc19f518a6590a5afb90e6a9c49b2f6",
"sha256": "b2810380c01595ac79e6bae05f33a3ee202e295155e516e4b2e8de6c3051e2af"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.8.4.tar.gz",
"has_sig": false,
"md5_digest": "fbc19f518a6590a5afb90e6a9c49b2f6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32705,
"upload_time": "2015-01-09T15:46:30",
"url": "https://files.pythonhosted.org/packages/3f/9f/a44bae223d1c0be6d521ee40391c9fb2b7365ac3c62dd9238cf815810766/django-multilingual-tags-0.8.4.tar.gz"
}
],
"0.8.5": [
{
"comment_text": "",
"digests": {
"md5": "476d7cbace9b2d21ec17d78df9b6f017",
"sha256": "29323356022a6173c45987157b3ee8cba511063010bae5e09ba8a2ad046c3c79"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.8.5.tar.gz",
"has_sig": false,
"md5_digest": "476d7cbace9b2d21ec17d78df9b6f017",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32709,
"upload_time": "2015-01-09T15:48:44",
"url": "https://files.pythonhosted.org/packages/64/22/ea407d081c7d20e9a23f744a84ef8af798e0f7a9e83ee13938c3a62c173e/django-multilingual-tags-0.8.5.tar.gz"
}
],
"0.8.6": [
{
"comment_text": "",
"digests": {
"md5": "3ea99f233032cdaefd10fe334df731a1",
"sha256": "7eba7fc2bf3480a4084462ef81629f6b2385dca3c08fe78bd397409ff06c25dc"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.8.6.tar.gz",
"has_sig": false,
"md5_digest": "3ea99f233032cdaefd10fe334df731a1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32766,
"upload_time": "2015-01-13T08:21:17",
"url": "https://files.pythonhosted.org/packages/4d/a2/84fe0f010e80566a1dd611aac8884311eddc55ca6216db231f1dc39b0aee/django-multilingual-tags-0.8.6.tar.gz"
}
],
"0.8.7": [
{
"comment_text": "",
"digests": {
"md5": "1b10907adf93cd643bd276d728988c05",
"sha256": "89c6e643a8df404a59ac0e3a8c2b67d64a9a66d2bf73a84da459375bafdb41be"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.8.7.tar.gz",
"has_sig": false,
"md5_digest": "1b10907adf93cd643bd276d728988c05",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32782,
"upload_time": "2015-01-13T09:35:56",
"url": "https://files.pythonhosted.org/packages/bd/7c/a6ca75fea9e9ceb894bfbda2674fe5e00a0e4ff237b2fc804071017d7a06/django-multilingual-tags-0.8.7.tar.gz"
}
],
"0.9": [
{
"comment_text": "",
"digests": {
"md5": "909def263d2f2c1ef5db14cb08900660",
"sha256": "d0b30e4e0b7c0ed7d49782b6643d80c046fb42a6b0fa543755d7e97a844774e8"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.9.tar.gz",
"has_sig": false,
"md5_digest": "909def263d2f2c1ef5db14cb08900660",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30550,
"upload_time": "2016-02-22T23:38:25",
"url": "https://files.pythonhosted.org/packages/a5/5d/33bc06e0bc7c81cc27ccaf3b69c9ed2e13c67822efed9328ee93ec3c65bc/django-multilingual-tags-0.9.tar.gz"
}
],
"0.9.1": [
{
"comment_text": "",
"digests": {
"md5": "eacf127672bbf5a05de428af006f5591",
"sha256": "25159f0feb29151b4637dbb55ec58007c9e26c208d71e741dcd8631da53cbcbc"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.9.1.tar.gz",
"has_sig": false,
"md5_digest": "eacf127672bbf5a05de428af006f5591",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31150,
"upload_time": "2016-02-22T23:40:36",
"url": "https://files.pythonhosted.org/packages/c3/d1/dad20d47fd82016d6be0c1452efbf213eee3845337672f1784f42fceb6b2/django-multilingual-tags-0.9.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "eacf127672bbf5a05de428af006f5591",
"sha256": "25159f0feb29151b4637dbb55ec58007c9e26c208d71e741dcd8631da53cbcbc"
},
"downloads": -1,
"filename": "django-multilingual-tags-0.9.1.tar.gz",
"has_sig": false,
"md5_digest": "eacf127672bbf5a05de428af006f5591",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31150,
"upload_time": "2016-02-22T23:40:36",
"url": "https://files.pythonhosted.org/packages/c3/d1/dad20d47fd82016d6be0c1452efbf213eee3845337672f1784f42fceb6b2/django-multilingual-tags-0.9.1.tar.gz"
}
]
}