|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- Metadata-Version: 2.0
- Name: django-taggit-templatetags2
- Version: 1.6.1
- Summary: Templatetags for django-taggit.
- Home-page: https://github.com/fizista/django-taggit-templatetags2
- Author: Wojciech Banas
- Author-email: fizista@gmail.com
- License: BSD
- Keywords: django taggit tags tagcloud taglist tagging tag
- Platform: UNKNOWN
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 3
- Classifier: Environment :: Web Environment
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: BSD License
- Classifier: Operating System :: OS Independent
- Classifier: Framework :: Django
- Requires-Dist: django (>=1.5)
- Requires-Dist: django-classy-tags (>=0.5.1)
- Requires-Dist: django-taggit (>=0.12)
- Provides-Extra: test
- Requires-Dist: tox (>=1.7); extra == 'test'
-
- ============
- Instructions
- ============
-
- This is a reusable django app which adds some templatetags to django-taggit_.
-
- This is a fork the application "django-taggit-templatetags".
-
- django-taggit-templatetags2 requires Django 1.6 or greater.
-
- The application works well under python 2.7 and 3.x
-
- Installation
- ============
-
- Just install ``django-taggit-templatetags2`` via ``pip``::
-
- $ pip install django-taggit-templatetags2
-
- After installing and configuring django-taggit_, just add ``taggit_templatetags2`` to your ``INSTALLED_APPS`` in your ``settings.py``::
-
- INSTALLED_APPS = (
- ...
- 'taggit_templatetags2',
- ...
- )
-
- Usage
- =====
-
- Now there are some templatetags enabled, at the moment only to create lists of
- tags and tag-clouds.
-
- In your templates, you need to load ``taggit_templatetags2_tags``::
-
- ...
- {% load taggit_templatetags2_tags %}
- ...
-
- ---------
- Tagdetail
- ---------
-
- List of tags for the selected object::
-
- {% get_tags_for_object <some_model_object> as "tags" %}
-
- --------
- Taglists
- --------
-
- After loading ``taggit_templatetags2_tags`` you can create a list of tags for the
- whole project (in the sense of djangoproject), for an app (in the sense of djangoapp),
- for a model-class (to get a list for an instance of a model, just use its tag-field).
-
- For the tags of a project, just do::
-
- {% get_taglist as tags %}
-
- For the tags of an app, just do::
-
- {% get_taglist as tags for 'yourapp' %}
-
- For the tags of a model, just do::
-
- {% get_taglist as tags for 'yourapp.yourmodel' %}
-
- You can also customize the name of the tags manager in your model (the default is *tags*)::
-
- {% get_taglist as tags for 'yourapp.yourmodel:yourtags' %}
-
- No matter what you do, you have a list of tags in the ``tags`` template variable.
- You can now iterate over it::
-
- <ul>
- {% for tag in tags %}
- <li>{{tag}} ({{tag.num_times}})</li>
- {% endfor %}
- </ul>
-
- As you can see, each tag has an attribute ``num_times`` which declares how many
- times it was used. The list of tags is sorted descending by ``num_times``.
-
- Inclusion-Tag
- -------------
-
- For convenience, there's an inclusion-tag. It's used analogue. For example,
- for a taglist of a model, just do::
-
- {% include_taglist 'yourapp.yourmodel' %}
-
- ---------
- Tagclouds
- ---------
-
- A very popular way to navigate through tags is a tagcloud_. This app provides
- some tags for that::
-
- {% get_tagcloud as tags %}
-
- or::
-
- {% get_tagcloud as tags for 'yourapp' %}
-
- or::
-
- {% get_tagcloud as tags for 'yourapp.yourmodel' %}
-
- respectivly. The resulting list of tags is ordered by their ``name`` attribute.
- Besides the ``num_items`` attribute, there's a ``weight`` attribute. Its maximum
- and minimum may be specified as the settings_ section reads.
-
- Inclusion-Tag: tag cloud
- ------------------------
-
- Even for the tagcloud there's an inclusion-tag. For example, for a tagcloud
- of a model, just do::
-
- {% include_tagcloud 'yourapp.yourmodel' %}
-
-
- Inclusion-Tag: tag canvas
- -------------------------
-
- TagCanvas_ is a Javascript class which will draw and animate a HTML5 canvas
- based tag cloud. You can use this library in your application as follows::
-
- <!-- Somewhere before the tag include_tagcanvas. For example, in the "head". -->
- {% include "taggit_templatetags2/tagcanvas_include_js_static.html" %}
-
- {% include_tagcanvas 'element_id' 'width px' 'height px' 'some-url-name' 'yourapp.yourmodel' %}
-
- - element_id - name to create identifiers for html tags
- - some-url-name - url to view a list of objects for the selected tag. Default: *tagcanvas-list*.
- For example, some-url-name='myurlname', then it must be an entry in urls.py
- file like this::
-
- from taggit_templatetags2.views import TagCanvasListView
-
- urlpatterns = patterns(
- ...
- url(r'^tag-list/(?P<tag_id>.*)/(?P<tag_slug>.*)/',
- TagCanvasListView.as_view(), name='myurlname'),
- )
-
- Or you can use the default view, and then you have to add the following things:
-
- - in urls.py::
-
- from taggit_templatetags2 import urls as taggit_templatetags2_urls
- urlpatterns = patterns(
- ...
- url(r'^tags/', include('taggit_templatetags2.urls')),
- )
-
- - override template "taggit_templatetags2/tagcanvas_base.html" and
- - override template "taggit_templatetags2/tagcanvas_list_item.html" to customize the look
-
- To use this inclusion-tag, make sure that 'django.core.context_processors.static'
- appears somewhere in your TEMPLATE_CONTEXT_PROCESSORS setting.
-
-
-
- .. _settings:
-
- Settings
- ========
-
- There are a few settings to be set:
-
- TAGGIT_TAGCLOUD_MIN (default: 1.0)
- This specifies the minimum of the weight attribute of a tagcloud's tags.
-
- TAGGIT_TAGCLOUD_MAX (default: 6.0)
- This specifies the maximum of the weight attribute of a tagcloud's tags.
-
- If you want to use the weight as font-sizes, just do as follows::
-
- <font size={{tag.weight|floatformat:0}}>{{tag}}</font>
-
- So the weights are converted to integer values.
-
- If you're using your own Tag and/or TaggedItem models rather than the default
- ones (`Custom Tagging`_), you can specify a tuple for each model (app,model_name)
-
- TAGGIT_TAG_MODEL = ('myapp','MyTag')
- default: ('taggit', 'Tag')
-
- TAGGIT_TAGGED_ITEM_MODEL = ('myapp','MyTaggedItem')
- default: ('taggit', 'TaggedItem')
-
- TAGGIT_LIMIT = 234
- Number items for tag cloud.
- default: 10
-
- TAGGIT_TAG_LIST_ORDER_BY = 'name'
- Order for the queryset used to generate the list.
- default: -num_times
-
- TAGGIT_TAG_CLOUD_ORDER_BY = '-num_times'
- Order for the queryset used to generate the list.
- default: name
-
- Testing
- =======
-
- Clone code repository::
-
- $ git clone https://github.com/fizista/django-taggit-templatetags.git
-
- Installation dependencies needed to test the application::
-
- $ pip install -e <path to the application>[tests]
-
- Starting tests::
-
- $ python ./develop.py test
-
- Starting test coverage::
-
- $ python ./develop.py manage test
-
- Starting tox tests::
-
- $ tox
-
- Thanks
- ======
-
- Thanks to the python- and django-community, in particular to `Alex Gaynor`_,
- the inventor of django-taggit_ and a wonderful guy to argue with.
- Thanks to `Mathijs de Bruin`_ as well for his helpful pull requests.
-
- .. _django-taggit: http://pypi.python.org/pypi/django-taggit
- .. _tagcloud: http://www.wikipedia.org/wiki/Tagcloud
- .. _Alex Gaynor: http://alexgaynor.net/
- .. _Mathijs de Bruin: http://github.com/dokterbob
- .. _Custom Tagging: http://django-taggit.readthedocs.org/en/latest/custom_tagging.html
- .. _TagCanvas: http://www.goat1000.com/tagcanvas.php
-
-
|