我试图弄清楚是否可以在我的查询集上进行视图后处理,然后在使用django-endless-pagination进行无限滚动的django模板中进行渲染.
我有特定于视图的逻辑,它根据上下文忽略查询集的某些结果,以及向列表中的对象添加属性以供模板使用.此逻辑不能通过SQL执行,因为它不是模型固有的.它必须在python中完成.
使用django-endless-pagination和其他预先滚动的django分页模块,所有逻辑似乎都是由模板标签执行的,从而阻止了在呈现阶段(这是一个django原则)之前执行业务逻辑的能力.
因为我的视图逻辑在模板标签执行之前运行结果集,所以我将失去此模块提供的优化(例如带有分页的SQL查询,例如限制20;偏移20).每次用户页面时,我的代码都会遍历整个未分页的结果列表,从而绕过模板标记提供的惰性分页优势.
没有直接将我的代码移入分页模块(我宁愿不这样做,并且需要在请求上下文中添加一堆额外数据以用于标记),还有其他选择吗?
谢谢!
有没有人有调试Mixpanel track_forms的经验?
首先,Firebug Chrome控制台(在Mixpanel配置中启用调试时)显示任何track_forms事件的空属性对象.每个其他Mixpanel事件都有一个填充的属性对象,包括引用者,浏览器数据等.不清楚它是否是控制台计时问题,并且实际记录了数据或者这些事件中是否确实缺少数据.
其次,我有一个jquery提交的表单(在复选框点击时提交),这是我正在尝试登录mixpanel的事件.无论我是使用track还是track_forms,事件似乎都不会记录.如果我添加一个延迟表单提交的断点,则该事件似乎会记录.所以它似乎是一个竞争条件,Mixpanel计时器不起作用.
/* doesn't work */
var d={};
$('.ch').bind('change',function(){ /*checkbox click submits form*/
d['checked']=$(this).is(':checked');
d['value']=$(this).val();
mixpanel.track("my event",d);
$('#myform').submit();
});
/* also doesn't work */
mixpanel.track_forms("#myform",'my event',d);
Run Code Online (Sandbox Code Playgroud)
有没有人解决过这个问题?这是客户端表单提交的一个非常基本的用例.