Login

Tag "filter"

177 snippets

Snippet List

Inline truncate by character number

Sometimes I need to truncate a string after a number of characters, usually to avoid breaking the page layout. When the string we have to truncate is a filename I don't want to hide its extension so a user can easily recognize the file. My solution is add the ellipsis at the middle of the string converting `ALongLongLongTitleDocumentThatExemplifiesThisSnippet.txt` into `ALongLongLong...hisSnippet.txt`

  • filter
  • truncate
Read More

Pygmentation

Usage: (if you save it as pigmentation.py as I did) {% load pigmentation %} {% autoescape off %} {{ somevariable|pygmentize }} {% endautoescape %} There already a few of this code around, but this one is pretty clean, and includes css. It also works in both the development server and Dreamhost (python2.4 in my django config) without any unicode problems.

  • filter
  • tag
  • templatetag
  • pygments
  • code
  • colorize
  • color
Read More

Truncate words by characters

This filter truncates words like the original truncate words Django filter, but instead of being based on the number of words, it's based on the number of characters. I found the need for this when building a website where i'd have to show labels on really small text boxes and truncating by words didn't always gave me the best results (and truncating by character is...well...not that elegant). Usage example: {{var|truncatewords_by_chars:"16 2 4"}} If string lenght is higher than 16, truncates by 2 words, if lesser, truncates by 4 words.

  • filter
  • truncate
  • character
  • word
Read More

AlphabeticFilterSpec

**WARNING: a better version of this snippet you can see at [http://www.djangosnippets.org/snippets/1051/](http://www.djangosnippets.org/snippets/1051/)** This filter spec is util only for who uses newforms-admin branch. To use this, you need to extend the class ModelAdmin for your model class, like the MyClassAdmin class in the code, with attention to the following lines: # Appends the filter cl.filter_specs.insert(0, AlphabeticFilterSpec(cl.lookup_opts.get_field('name'),request,cl.params,self.model,self))

  • filter
  • admin
  • alphabetic
Read More

quick_url filter

A simple filter that generates a url from an object that has a get_absolute_url method. {{ object|quick_url }} a previous, simpler approach: [#511](http://www.djangosnippets.org/snippets/511/)

  • filter
  • get_absolute_url
  • quick_url
Read More

Auto HTML Linebreak filter

This custom filter is helpful if you want to convert plain text to include html line breaks but you aren't sure if the text is actually plain text or if it already contains html line breaks. First the filter looks for if the text contains any br, p, or table tags, if it does the text is returned as is. If it doesn't then the same functionality as the [linebreaks](http://www.djangoproject.com/documentation/templates/#linebreaks) filter is applied to the text.

  • filter
  • html
  • linebreaks
  • custom-filter
Read More

PHP's number_format like template filter

This filter allows you to format numbers like PHP's [number_format](http://php.net/number_format) function. If `var` equals 1234.567`{{ var|number_format:2 }}` produces 1,234.56. Because Django's template filters support just 1 argument you'll have to adjust the argument's default values by hand until [#1199](http://code.djangoproject.com/ticket/1199) is fixed.

  • filter
  • number_format
Read More

UPDATED: Django Image Thumbnail Filter

A Django image thumbnail filter, adapted from code by [Batiste Bieler](http://batiste.dosimple.ch/blog/2007-05-13-1/). This updated version drops support for cropping and just rescales. You should use it in your templates like this: `<img src='{{ MEDIA_URL }}{{ image.get_image_filename|thumbnail:"300w,listingimages" }}' alt="{{ image.title }}" title="{{ image.title }}" />` This will produce a 300-pixel wide thumbnail of image, with the height scaled appropriately to keep the same image aspect ratio. 'listingimages' is the path under your MEDIA_ROOT that the image lives in - it'll be whatever upload_to is set to in your ImageField. If instead you wanted an image scaled to a maximum height of 140px, you'd use something like this: `<img src='{{ MEDIA_URL }}{{ image.get_image_filename|thumbnail:"140h,listingimages" }}' alt="{{ image.title }}" title="{{ image.title }}" />` Note the number has changed from 300 to 140, and the trailing letter from 'w' to 'h'. Please leave feedback and bug reports on [my blog, Stereoplex](http://www.stereoplex.com/two-voices/a-django-image-thumbnail-filter). I've only lightly tested this so you'll probably find something!

  • filter
  • image
  • thumbnail
Read More

Wiki-like markup for sub templates

I wanted to have the possibility to use a wiki-like markup style in my flatpages for various purposes (embedding images, quoting, etc.) After a few dead ends I came up with this, which is quite nice I think. > It basically takes a named tag, loads the corresponding template, passes in all arguments, renders the template and replaces the named tag with the result. *The markup looks like this:* > [[example:value to pass|option1=somevalue option2=values can have spaces too! without having to put them in quotes option3=some other value]] *This results in:* * Filter tries to load wiki/wiki_example.html * If it is loaded, it passes an WikiElement containing the value and the options to the template, renders it and replaces the tag with the rendered template *In the "wiki/wiki_example.html" template you can use it like this:* {{param.value}} {{param.opts.option1}} Or loop over param.opts.iteritems.

  • template
  • filter
  • markup
  • wiki
Read More

Use class name in templates

For use in templates: {% if object|classname:"entry" %} ... class="{{ object|classname }}" ... I couldn't find simpler solution for checking weather specific object belongs to specific class name, or just to output object's class name.

  • filter
  • classname
Read More

several_random template filter

Allows the selection of one or more items from a list. The built-int `random` filter only allows you to select a single at a time, and repeated use can return the same item many times. **Example:** `{% for random_item in item_list|several_random:3 %} ... {% endfor%}` **Note:** If you're running this on an uncached QuerySet, it can result in many database queries... a future improvement might check to see if the passed object is a QuerySet and act accordingly.

  • filter
Read More

SmartyPants Filter

Really simple filter for using Smartpants in your template -- placed in your custom filters file. Requires python smartypants to be installed.

  • filter
  • typography
  • smartypants
Read More

render_markup filter, specify the markup filter as a string

Ever since django.contrib.markup appeared I've added a `markup_lang` field to my models where I want to support multiple input formats. This filter lets you pass the filter name as a string (from your model field, for example) and it will call the appropriate filter. I use None when the text is HTML, in which case it will return as-is. Example: class Article(models.Model): content = models.TextField(null=False, default="") markup_lang = models.CharField(maxlength=20, blank=True) a = Article(content="**Test!**", markup_lang='textile') b = Article(content="<h1>Hello!</h1>") And in a template: {% for article in article_list %} {{ article.content|render_markup:article.markup_lang }} {% endfor %}

  • filter
  • markup
Read More

truncate letters

filter for truncating strings similar to truncatewords only with letters.

  • filter
  • truncate
  • letters
Read More