我刚刚在 Django 1.4.5 上安装了 Pinax,在 urls 中主页是一个 TemplateView。我想在主页中添加一些逻辑,所以我评论了那个 url 并创建了一个新的链接到一个名为 home 的视图。目前我在该视图中什么都不做,我只想重现与 TemplateView 中相同的行为,即加载模板。模板加载,但我丢失了 Pinax 变量,如 SITE_NAME(我确实设置了站点名称,并且在使用 TemplateView 直接加载模板时它确实出现了)。
这是原始网址:
url(r"^$", TemplateView.as_view(template_name="homepage.html"), name="home"),
这就是我使用的:
url(r"^$", home, name="home"),
home 是从一个新创建的应用程序加载的(使用 manage.py startapp,该文件夹与 manage.py 处于同一级别,而不是在项目文件夹内)
与家庭相关的视图是:
def home(request):
context = {}
return render_to_response('homepage.html', context)
如果我添加一些上下文,例如 'SITE_NAME': 'my site',则变量会正确填充。但我想让它们像以前一样自动填充。
更糟糕的是,当我尝试登录时,尽管用户已正确登录,但主页仍然显示“已注销”版本(当前登录用户的帐户设置正确显示)。
我做错了什么?