0

我对 Django 和网络应用程序开发还很陌生,所以也许我的问题没有经过深思熟虑。

对于我正在开发的新网站,我想为每个传入请求执行一组数据库查询。我想知道在代码中构造它的最佳方法是什么。

更具体地说,我想在适用的情况下在标题部分显示问候语(例如“Hi John”)和用户购物车的状态。我考虑过创建一个 get_header_details 辅助函数并从每个视图方法中调用它,但必须有更好的方法来做到这一点。想法?

另外,即使我想在每个页面上显示问候语和购物车状态,也许我不需要在每个页面请求上查询它。有没有好的方法来做到这一点?这是一个学习项目,所以我可以将东西添加到我的技术堆栈中。

4

2 回答 2

2

对于购物图表,中间件上下文处理器加上会话和最好的缓存(例如 Memcached)是要走的路。

中间件允许您在每个视图之前或之后执行任意操作。上下文处理器允许您将变量插入到每个模板中。实现购物图表最常见的方法是使用会话,因为您通常不希望默认情况下无限期地保存购物图表的状态(您当然可以提供此选项作为便利功能)。

至于问候消息,使用缓存来防止对每个请求进行额外的(可能不需要的)查询。

于 2013-08-01T21:28:25.367 回答
0

Django 有很好的缓存支持。模板片段缓存在您的实例中可能很有用。

于 2013-08-01T21:24:52.823 回答