在django应用程序中隐藏UI或后端函数的部分



我想隐藏一些部分的接口从我的django应用程序。例如,如果我有一个显示一些统计数据的小部件,我不希望这个小部件出现在每个用户登录到网站后。我想随机隐藏。另外,假设我有一个搜索结果排序功能,我想随机选择一组用户按时间降序排序,另一组用户按升序排序。

我的第一个任务是如何在用户登录后随机挑选用户。如何在django应用中定义这种类型的随机性?我真的不知道我应该在这里包括什么例子,但是,这是一个简单的小部件,我必须显示网站的前5名贡献者。

{% cache 600 "contributors" contributors search_tags scope sort query context.page language_code %}
  <div id="contrib-users" class="box">
  <h2 class="contributorback">{% trans %}Top 5 Contributors{% endtrans %}</h2>
  {% spaceless %}
  {% for user in contributors %}
    <div class="contributor">
        <div class="contrib-thumb">{{ macros.gravatar(user, 32) }}</div>
        <div class="contrib-text">
            <span class="contrib-username">
                <a href="{{ user.get_absolute_url() }}">{{user.username|escape}}</a>
            </span>
            <span class="contrib-rep">{{ macros.user_score_and_badge_summary(user, settings.KARMA_MODE, settings.BADGES_MODE) }}
        </div>
    </div>
  {% endfor %}
  {% endspaceless %}
  </div>
{% endcache %}

假设我在系统中有来自user0001 - user1000的用户,我想随机选择25%用户来查看小部件。我怎么能做到呢?

听起来你想做a/b分割测试?在这种情况下,有一些django应用程序可以帮助你做到这一点:

django-lean看起来很重量级,但是里面有很多有用的工具。

django-experiments做了你想要的并且最近更新了。

至少你可以浏览一下他们的源代码,看看他们是如何划分用户的

相关内容

  • 没有找到相关文章