小编Pau*_*jan的帖子

如何推荐下一个成就

精简版:

我有类似StackOverflow的设置.用户获得成就.我有比SO更多的成就,让我们说10k的顺序,每个用户都有100多个成就.现在,您如何推荐(推荐)用户尝试的下一个成就?

长版:

在django中对象建模如下(仅显示重要部分):

class User(models.Model):
    alias = models.ForeignKey(Alias)

class Alias(models.Model):
    achievements = models.ManyToManyField('Achievement', through='Achiever')

class Achievement(models.Model):
    points = models.IntegerField()

class Achiever(models.Model):
    achievement = models.ForeignKey(Achievement)
    alias = models.ForeignKey(Alias)
    count = models.IntegerField(default=1)
Run Code Online (Sandbox Code Playgroud)

我的算法只是找到与登录用户共享成就的每个其他用户,然后完成所有成就并按出现次数排序:

def recommended(request) :
    user = request.user.get_profile()

    // The final response
    r = {}

    // Get all the achievements the user's aliases have received 
    // in a set so they aren't double counted
    achievements = set()
    for alias in user.alias_set.select_related('achievements').all() :
        achievements.update(alias.achievements.all())

    // Find all other aliases that have …
Run Code Online (Sandbox Code Playgroud)

python django optimization achievements

5
推荐指数
1
解决办法
601
查看次数

重写"网站关闭"页面的规则

我试图安装此.htaccess以通知我的用户网站维护.似乎第一个[L]不起作用,第二个重写正在做所有事情.

你们如何做网站维护信息?

RewriteEngine on

RewriteRule ^s/down$ index.html [L]
RewriteRule ^(.*)$ http://metaward.com/s/down [R=302,L]
Run Code Online (Sandbox Code Playgroud)

apache mod-rewrite maintenance

5
推荐指数
2
解决办法
9874
查看次数

Django:迭代没有缓存的查询集

我有一个愚蠢的简单循环

for alias in models.Alias.objects.all() :
    alias.update_points()
Run Code Online (Sandbox Code Playgroud)

但是看看django QuerySet,它似乎保留_result_cache了以前的所有结果.这是吃我的机器的演出和演出,最终一切都爆炸了.

我怎么能扔掉所有我不会关心的东西?

python django caching

5
推荐指数
1
解决办法
4367
查看次数

从javascript包含javascript库的标准方法

我想从我的javscript include中获取jquery库.

这是否100%有效?有没有更好的办法?

(function() {

var loadJquery = function (cb) {
    var addLibs = function () {
        if (typeof(document.body) == "undefined" || document.body === null) {
            setTimeout(addLibs, 100);
            return;
        }

        var node = document.createElement("script");
        node.src = "http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js";
        document.body.appendChild(node);
        checkLib();
    };

    var checkLib = function () {  
        if (typeof($) == "undefined" || $("*") === null) {
            setTimeout(checkLib, 100);
            return;
        }
        cb($.noConflict());
    }
    addLibs();
}

loadJquery(function($){
  // Do stuff with $
  $(document.body).css("background", "black");
});

})();
Run Code Online (Sandbox Code Playgroud)

更改node.src,并$.noConflictYUI如果你想YUI3,或者 …

javascript ajax jquery yui

5
推荐指数
1
解决办法
4816
查看次数

CSS:左对齐浮点的最佳方法:右侧部分

我希望在过去的好日子里有两列表布局.它适用于http://paulisageek.com/resume,并且与以下内容完美配合:

.dates {
  float:right;
  width:171px;
}
Run Code Online (Sandbox Code Playgroud)

但我相信我会打破更新的大小(以及不同的字体,浏览器和字体大小等).

有没有办法让第二列自动调整大小而不强制宽度(或使用javascript)?请问CSS3有办法吗?

css css3

5
推荐指数
1
解决办法
2万
查看次数

如何测试URL是否是有效图像(在javascript中)?

提交表单时,我想确保字段是有效的图像URL.

我可以在我的服务器上创建一个AJAX端点CURLs URL并用图像库解析输出,但这感觉有点过分.

我能不能制作一个<img>元素然后以某种方式同步检查响应?

javascript forms image

5
推荐指数
2
解决办法
5581
查看次数

django: select_related 与 entry_set

entry_set 是否应该与 select_related 一起缓存?即使在我使用 select_related 之后,我的数据库仍然接到电话。相关部分

class Alias(models.Model):
    achievements = models.ManyToManyField('Achievement', through='Achiever')

    def points(self) :
        points = 0
        for a in self.achiever_set.all() :
            points += a.achievement.points * a.count
        return points

class Achievement(models.Model):
    name = models.CharField(max_length=100)
    points = models.IntegerField(default=1)

class Achiever(models.Model):
    achievement = models.ForeignKey(Achievement)
    alias = models.ForeignKey(Alias)
    count = models.IntegerField(default=1)

aliases = Alias.objects.all().select_related()
for alias in aliases :
    print "points : %s" % alias.points()
    for a in alias.achiever_set.all()[:5] :
        print "%s x %d" % (a.achievement.name, a.count)
Run Code Online (Sandbox Code Playgroud)

我在开始时看到一个很大的连接查询,然后是对每个成就的单独调用。用于点和名称查找。

这是一个错误,还是我做错了什么?

django django-models django-select-related

4
推荐指数
2
解决办法
6978
查看次数

检查应用程序是否已在运行

我正在开发一个cocoa中的应用程序,需要检查该应用程序是否已经在启动时运行.如果已经运行,那么我需要退出新实例..有什么办法可以做到这一点.寻找一个完美的解决方案

macos cocoa

4
推荐指数
1
解决办法
2547
查看次数

django:为什么 RequestContext 设置为 context_instance?

似乎大多数文档都建议:

template_values = {}
template_values["foo"] = "bar"
return render_to_response(path, template_values, context_instance=RequestContext(request)
Run Code Online (Sandbox Code Playgroud)

为什么我不使用:

template_values = RequestContext(request)
template_values["foo"] = "bar"
return render_to_response(path, template_values)
Run Code Online (Sandbox Code Playgroud)

django django-templates

4
推荐指数
1
解决办法
1万
查看次数

Chrome中的HTML <base>

<base href="http://google.com" /> 
<img src="/intl/en_ALL/images/logo.gif" /> 
Run Code Online (Sandbox Code Playgroud)

铬支持?它在Firefox中运行良好.

具体而言,相对图像链接不会解析为基本URL.

那是为了:

http://webnumbr.com/create?url=http://google.com

最新的OSX和Windows Chrome测试(4.0.249.78)

html google-chrome

3
推荐指数
1
解决办法
2522
查看次数