django.template.base.TemplateSyntaxError: default requires 2 arguments, 1 provided
Make sure you don’t have a space after the colon. This is correct: {{ title|default:”nothing” }} This throws an exception: {{ title|default: “nothing” }}
Make sure you don’t have a space after the colon. This is correct: {{ title|default:”nothing” }} This throws an exception: {{ title|default: “nothing” }}
Django templates allow you to access methods and properties by using the ‘.’ syntax: {{ var.example.strip }} You can extend this by chaining other filters when you’re dealing with HTML, e.g.: {{ var.example.strip|safe|removetags:”p img” }} Here we first remove any <p> and <img> tags, then tell Django it can safely render the rest of the … Read more
Just for reference, I solved the problem by moving {% load … %} from the base template to the concrete template. See also this post https://stackoverflow.com/a/10427321/3198502
HTML escaping is on by default in Django templates. Autoescape is a tag. not a filter: {% autoescape on %} {{ post.content }} {% endautoescape %} The ‘escape’ filter escapes a string’s HTML. Specifically, it makes these replacements: < is converted to < > is converted to > ‘ (single quote) is converted to ' … Read more
It is possible and fairly simple. Django only allows one argument to your filter, but there’s no reason you can’t put all your arguments into a single string using a comma to separate them. So for example, if you want a filter that checks if variable X is in the list [1,2,3,4] you will want … Read more
Django intentionally leaves out many types of templatetags to discourage you from doing too much processing in the template. (Unfortunately, people usually just add these types of templatetags themselves.) This is a perfect example of something that should be in your model not your template. class Game(models.Model): … def screenshots_as_list(self): return self.screenshots.split(‘\n’) Then, in your … Read more
If you want the actual HTTP Host header, see Daniel Roseman’s comment on @Phsiao’s answer. The other alternative is if you’re using the contrib.sites framework, you can set a canonical domain name for a Site in the database (mapping the request domain to a settings file with the proper SITE_ID is something you have to … Read more
If you want the actual HTTP Host header, see Daniel Roseman’s comment on @Phsiao’s answer. The other alternative is if you’re using the contrib.sites framework, you can set a canonical domain name for a Site in the database (mapping the request domain to a settings file with the proper SITE_ID is something you have to … Read more