| in blog | Simon Willison's Weblog: django |
|---|---|
| original entry | New Django {% querystring %} template tag |
New Django {% querystring %} template tag
Django 5.1 came out last week and includes a neat new template tag which solves a problem I've faced a bunch of times in the past.{% querystring color="red" size="S" %}
Adds ?color=red&size=S to the current URL - keeping any other existing parameters and replacing the current value for color or size if it's already set.
{% querystring color=None %}
Removes the ?color= parameter if it is currently set.
If the value passed is a list it will append ?color=red&color=blue for as many items as exist in the list.
You can access values in variables and you can also assign the result to a new template variable rather than outputting it directly to the page:
{% querystring page=page.next_page_number as next_page %}
Other things that caught my eye in Django 5.1:
PRAGMA cache_size=2000 on new connections."transaction_mode": "IMMEDIATE" to configure the behaviour of transactions.Tags: urls, sqlite, postgresql, django