在我的base.html中,我有以下代码
{% if user_anon == "true" %}
{% block login_with_fb %}{% endblock %}
{% else %}
SOMETHING ELSE
在views.py中,我有
t = get_template('login.html')
try:
c = Context({ 'user_anon':"false" , 'STATIC_URL':'/stic'})
except ObjectDoesNotExist:
c = Context({ 'user_anon':"true" , 'STATIC_URL':'/stic'})
r = t.render(c)
return HttpResponse(r)
但base.html始终以user_anon =" true"代码...无论传递的c的值如何:/
答案 0 :(得分:0)
为什么不直接在模板中检查请求?
示例:
{% if user.is_authenticated %}
其次,为什么要将它转换为字符串?我认为在Python中使用true / false会更容易。
最后,为什么要注入静态网址?您应该在配置中进行设置,然后您可以直接通过模板标签使用它。请参阅有关此here的官方文档。
示例:
{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>