相关疑难解决方法(0)

Django:从模板中访问会话变量?

如果我在Django中设置会话变量,例如:

request.session["name"] = "name"
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在模板中访问它,或者我是否必须从视图中检索它,然后将其传递给模板?

问,因为我有大约10个小会话变量,我想在模板中访问,并将所有10个从视图传递到模板可能会有点乱.

(我必须使用会话变量,因为它是一个HttpResponseRedirect,但是为了我的目的,将变量存储在数据库中是过度的.)

那么 - 任何直接在模板中获取会话变量的方法?

django

125
推荐指数
5
解决办法
8万
查看次数

Django,模板上下文处理器

我有一个奇怪的问题,我想使用上下文处理器添加一个全局查询.这就是我通过以下方式做到的:

在我的应用程序中制作了processor.py:

from myproject.myapp.models import Foo

def foos(request):
    return {'foos': Foo.objects.all()}
Run Code Online (Sandbox Code Playgroud)

在我的setting.py结束时我添加了这个:

TEMPLATE_CONTEXT_PROCESSORS = ('myapp.processor.foos',)
Run Code Online (Sandbox Code Playgroud)

最后我传递了我的观点:

def index_view(request):

    return render_to_response('index.html', {}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

在我的index.html模板:

<select id="select_foo">
{% for foo in foos %}
    <option value="/{{ foo.slug }}">{{ foo.name }}</option>
{% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)

最后我的网址:

(r'^$', 'myapp.views.index_view'),
Run Code Online (Sandbox Code Playgroud)

我的foos显示没有任何问题,但我的media_url和其他上下文已经消失.可能是什么问题

python django django-templates

61
推荐指数
3
解决办法
4万
查看次数

标签 统计

django ×2

django-templates ×1

python ×1