The {% static %} template tag generates the absolute URL of static files. That's all you need to do for development. Reload http://localhost:8000/polls/ and you should see that the question links are green (Django style!) which means that your stylesheet was properly loaded.
django. contrib. staticfiles collects static files from each of your applications (and any other places you specify) into a single location that can easily be served in production. For an introduction to the static files app and some usage examples, see How to manage static files (e.g. images, JavaScript, CSS).
django. contrib. staticfiles provides a convenience management command for gathering static files in a single directory so you can serve them easily. This will copy all files from your static folders into the STATIC_ROOT directory.
You should be able to concatenate strings with the add
template filter:
{% with 'assets/flags/'|add:request.LANGUAGE_CODE|add:'.gif' as image_static %}
{% static image_static %}
{% endwith %}
What you are trying to do doesn't work with the static
template tag because it takes either a string or a variable only:
{% static "myapp/css/base.css" %}
{% static variable_with_path %}
{% static "myapp/css/base.css" as admin_base_css %}
{% static variable_with_path as varname %}
For what it's worth, I think this is the easiest way:
<img src="{% static 'assets/flags/'|add:request.LANGUAGE_CODE|add:'.gif' %}" ... >
This is and old question and I'm not sure if this method could be done back then, But now, in Django 2.0 this seems to work fine for me.
a cleaner way is to set the {% static %} as a variable from the beginning of the html so we can use it in any way we want.
{% load static %}
{% static "" as baseUrl %}
<img src="{{ baseUrl }}/img/{{p.id}}"></img>
I got this to work by using an empty string for the static path and then using my variables in their own section, like this:
<a href= "{% static "" %}{{obj.a}}/{{obj.b}}/{{obj.c}}.gz" >Name</a>
@rounin, you can, at least, use
{% get_static_prefix %}
which will be loaded when you {% load static %}. It's just more natural then {% static '' %} :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With