{ "info": { "author": "Sam Bull", "author_email": "sam@pocketuniverse.ca", "bugtrack_url": null, "classifiers": [ "Framework :: Django", "License :: OSI Approved :: BSD License", "Programming Language :: Python" ], "description": "Fancy Tag\n=========\n\nOverview\n--------\n\n``fancy_tag`` is a template tag decorator designed to replace Django's built in\n``simple_tag`` decorator. It's backwards compatible with ``simple_tag`` and adds\nnew calling options like named arguments.\n\nFeatures\n--------\n\n* Keyword arguments - arguments can be explicitly assigned to parameter\n specific parameters in the template tag function\n\n* Variable length arguments - The \"``*args``\" and \"``**kwargs``\" notation\n\n* The trailing \"``as ``\" to assign the output of the template tag to\n a variable in the template's context.\n\nInstallation\n------------\n\n1. Add the fancy_tag package to your Python path\n\n\n2. Instead of::\n\n @register.simple_tag\n def some_tag(arg1, arg2):\n return '%s %s' % (arg1, arg2)\n\n\n Use::\n\n @fancy_tag(register)\n def some_tag(arg1, arg2):\n return '%s %s' % (arg1, arg2)\n\nExamples\n--------\n\nKeyword Arguments\n~~~~~~~~~~~~~~~~~\n\nPython Code::\n\n @fancy_tag(register)\n def say_cheese(name, thing_to_say='cheese'):\n return 'Hey, %s! Say %s!' % (name, thing_to_say)\n\nTemplate Code::\n\n {% say_cheese \"Jacob\" %} -> \"Hey, Jacob! Say Cheese!\"\n {% say_cheese \"Malcolm\" thing_to_say=\"Vegemite\" %} -> \"Hey Malcolm! Say Vegemite!\"\n\nVariable Length Arguments\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPython Code::\n\n @fancy_tag(register)\n def greet_people(*args):\n return 'Hello, %s' % ', '.join(args)\n\n\nTemplate Code::\n\n {% greet_people \"Larry\" \"Darryl\" \"Darryl\" %}\n\nProduces:\n\nHello, Larry, Darryl, Darryl\n\nVariable Length Keyword Arguments\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPython Code::\n\n @fancy_tag(register)\n def watch_your_mouth(s, **kwargs):\n for key, value in kwargs.items():\n s = s.replace(key, value)\n return s\n\nTemplate Code::\n\n {% watch_your_mouth \"You damn dirty ape!\" \"damn\"=\"doggone\" \"dirty\"=\"handsome\" %}\n\nProduces:\n\nYou doggone handsome ape!\"\n\nAssigning Output To A Variable\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPython Code::\n\n @fancy_tag(register)\n def now(format_string):\n df = DateFormat(datetime.now())\n return df.format(format_string)\n\nTemplate Code::\n\n {% now as just_now %}\n Oh no, it's already {{ just_now }}!\n\nProduces:\n\nOh no, it's already February 20th, 2010!\n\nAccessing the Template Context\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPython Code::\n\n @fancy_tag(register, takes_context)\n def say_hello_to_user(context, phrase):\n return u'%s, %s!' % (phrase, context['user'])\n\nTemplate Context::\n\n {'user': 'Tobias'} # Provided by a template context processor, for example\n\nTemplate Code::\n\n {% say_hello_to_user \"Hallo\" %}\n\nProduces:\n\nHallo, Tobias!\n\nTesting\n-------\n\nWith Django in your python path, run ``tests/run_tests.py`` or use \n`tox `_ to run the tests using multiple\nPython and Django versions.\n\nSource\n------\n\nhttp://github.com/trapeze/fancy_tag\n\nLicense\n-------\n\nfancy_tag is Copyright (c) 2010-2012 Sam Bull, Trapeze. It is free software, and\nmay be redistributed under the terms specified in the LICENSE file.\n\nCredits\n-------\n\nfancy_tag is maintained by `Sam Bull `_, with support from\n`Trapeze `_.", "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/trapeze/fancy_tag", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "fancy_tag", "package_url": "https://pypi.org/project/fancy_tag/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fancy_tag/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/trapeze/fancy_tag" }, "release_url": "https://pypi.org/project/fancy_tag/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "A powerful replacement for Django's simple_tag decorator that adds supports for positional, keyword arguments and template variable assignment.", "version": "0.2.0" }, "last_serial": 744658, "releases": { "0.1.2": [], "0.1.4": [ { "comment_text": "", "digests": { "md5": "f96cd40bb3a7ed45fa3cc2be3893d68a", "sha256": "1edf60e3cb3e52fb5414e5bc1f10f5f95e3dbc40bf881b28e42f72462f6e16a2" }, "downloads": -1, "filename": "fancy_tag-0.1.4.tar.gz", "has_sig": false, "md5_digest": "f96cd40bb3a7ed45fa3cc2be3893d68a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3657, "upload_time": "2010-12-13T22:02:06", "url": "https://files.pythonhosted.org/packages/39/82/5daa2b655d7511be96f4f153556df590f3b2ff07aa59ac75960965f02a5c/fancy_tag-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "e0401455cdd2c12ecbb2af69348d6a43", "sha256": "c443d1333fe0763f1bbc79ab02808a816e352d041ca6e66b86aaf4baa1e0a6e8" }, "downloads": -1, "filename": "fancy_tag-0.1.5.tar.gz", "has_sig": false, "md5_digest": "e0401455cdd2c12ecbb2af69348d6a43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5458, "upload_time": "2010-12-13T22:32:20", "url": "https://files.pythonhosted.org/packages/f5/f2/e06ba75683eff5c274d5671ce74782989f576cde0e10e23d105303a04ac3/fancy_tag-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ce44b79f5d5b77728670bda3ac4f66c0", "sha256": "6a4179f2a2accda2b273bfd86de6f7024cee203043cc9a7c040fe7b306bbe120" }, "downloads": -1, "filename": "fancy_tag-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ce44b79f5d5b77728670bda3ac4f66c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5660, "upload_time": "2012-10-29T18:14:34", "url": "https://files.pythonhosted.org/packages/f4/84/6c34558546df74f6e23a7480daf670ad87e32303e071745cdd1339004d41/fancy_tag-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ce44b79f5d5b77728670bda3ac4f66c0", "sha256": "6a4179f2a2accda2b273bfd86de6f7024cee203043cc9a7c040fe7b306bbe120" }, "downloads": -1, "filename": "fancy_tag-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ce44b79f5d5b77728670bda3ac4f66c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5660, "upload_time": "2012-10-29T18:14:34", "url": "https://files.pythonhosted.org/packages/f4/84/6c34558546df74f6e23a7480daf670ad87e32303e071745cdd1339004d41/fancy_tag-0.2.0.tar.gz" } ] }