O django é framework e foi criado para eliminar na "maioria" das vezes funções como group by e sum.
o seu problema é resolvido usando o orm do django (versão normal e estavel).
No seu caso se cada pagina tem um referencia para o usuario basta usar o seguinte:
--- na view seria assim ---
user = User.objects.get(.....) # obtem o usuario desejado
sum = user.paginas_set.count()
-- no template seria assim ---
{% for u in meus_users %}
<tr><td>{{u.username}}</td><td>{{ u.paginas_set.count }}</td></tr>
{%endfor%}
"paginas_set" é uma relação criada do usuario com o model "Paginas"
se o nome do seu model for "Webpages" entao o set seria "webpages_set"
A documentação desse recurso está em:
http://docs.djangoproject.com/en/dev/topics/db/queries/#related-objectsPara o seu problema a justificativa para usar "sum" seria otimização(pois ele usa o "for" do banco em vez do "for" do python ), em outros problemas mais complexos que precisem de sql puro ai sim talvez voce precise usar funcoes de agregaçao(mas quase sempre é possivel converter para o orm)...