[django] 一个奇怪的问题

[django] 一个奇怪的问题

[django] 一个奇怪的问题

我在用django 实现用户权限的功能,
碰到这样一个奇怪的问题,

我在基模板中:

pt/base.html

[Copy to clipboard] [ - ]
CODE:
....

        {% if user.is_authenticated %}
        Hello, {{ user.username }}
        <a href="/accounts/logout/"> Logout </a>
        <br> <a href="/pt/change_password"> Change Password </a>
        {% else %}
        <a href="/accounts/login/"> Login </a>
        {% endif %}
....

然后, 在每个模板中, 继承这个模板,

[Copy to clipboard] [ - ]
CODE:
{% extends "pt/base.html" %}

在我已经登录的情况下,
我在 views.py 中, 分别利用下面两句显示的页面, 得到的结果不同

[Copy to clipboard] [ - ]
CODE:
(1) return render_to_response('pt/ship_index.html')
(2) return direct_to_template(request, template = 'pt/ship_index.html')

利用(1), 得到的页面显示没有登录,
利用(2), 得到的页面显示登录.

请问为何这样?

应该如何用比较好的方法处理这个问题?
我各个页面中都是使用 render_to_response 的,
而且很多情况下, 用(2) 解决不了我的问题..

如何办呢?
direct_to_template是从哪里来的,是不是非标django代码啊。如果是,那么之所以它要request对象,是因为可以执行CONTEXT_PROCESSOR的处理,render_to_response是不对request处理的。

看 http://www.djangoproject.com/doc ... text-requestcontext