1

在 Rails 中,我使用 application_controller 来控制诸如用户会话之类的东西,并创建对象来填充站点的某些部分,例如菜单。

这应该如何在 Django 中完成,因为没有“应用程序视图”?您是否必须使用自定义过滤器和部分模板才能包含在内,例如在基本模板中执行此操作?

我也一直在查看基于类的视图,但不确定是否是这样。

4

1 回答 1

3

有几种方法可以做到这一点:

  • 模板标签
  • 上下文处理器
  • 基于类的视图
  • 中间件

这仅取决于您需要做什么。request.user始终存在于请求对象中,即使它是匿名用户,因此您无需执行任何特殊操作即可从模板或服务器端代码中访问该对象。

包含标签尽可能接近在 Rails 中呈现部分。 信号基于类的视图与您在控制器过滤器中找到的很接近。

在学习 Django(我从 Rails 转到 Django)时,我发现最有帮助的一本书是Practical Django ProjectsDjango 权威指南也免费提供。

于 2013-02-22T15:09:45.027 回答