Django如何将单个用户在不同活动中的得分相加,并仅在前端显示total s

2024-04-20 14:02:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在发我的邮件型号.py你知道吗

from django.db import models
from django.contrib.auth.models import User

class Activity(models.Model):
     activity = models.CharField(max_length=100)
     created_at = models.DateTimeField(auto_now_add=True)
     updated_at = models.DateTimeField(null=True)
     score = models.IntegerField(default=0)

     def __str__(self):
         return self.activity

class Name(models.Model):
  name = models.CharField(max_length=30)
  designation = models.CharField(max_length=100)
  score = models.IntegerField(default=0)
  activity = models.ForeignKey(Activity, on_delete=models.CASCADE)

  def __str__(self):
     return self.name

你知道吗视图.py你知道吗

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render
from django.http import HttpResponse
from .models import Name
#from .models import Score
from .models import Activity
from django.db.models import Sum

#from .models import Justification

# Create your views here.

def home(request):
    boards = Name.objects.all()
    return render(request, 'home.html', {'boards': boards})


def Score(request):
    boards = Score.objects.all()
    return render(request, 'home.html', {'boards': boards})


def Activity(request):
    boards = Activity.objects.all()
    return render(request, 'home.html', {'boards': boards})

html模板

{% load static %}<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  <title>Score Board</title>
    <link rel="stylesheet" href="{% static "css/bootstrap.min.css" %}">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  </head>
  <body>
    <div class="container">
      <ol class="breadcrumb my-4">
         <li class="breadcrumb-item active">Score Board</li>
      </ol>
      <table class="table table-striped table-bordered table-sm" cellspacing="0" width="100%">
        <thead class="thead-dark">
        <tr>
          <th class="th-sm">Name
          <i class="fa fa-sort float-right" aria-hidden="true"></i>
          </th>
          <th class="th-sm">Score
          <i class="fa fa-sort float-right" aria-hidden="true"></i>
          </th>
          <th class="th-sm">Activity
          <i class="fa fa-sort float-right" aria-hidden="true"></i>
          </th>
         </tr>
        </thead>
        <tbody>
          {% for board in boards %}
            <tr>
              <td>
                {{ board.name }}
                <small class="text-muted d-block">{{ board.designation }}</small>  </td>
              <td>
                {{ board.score}}
                <class="align-middle">{{ activity }} </td>
                <td>
                {{ board.activity}}
                <class="align-middle">{{ score }} </td>
            </tr>
          {% endfor %}
        </tbody>
      </table>
    </div>
  </body>
</html>

我正在尝试开发一个门户网站,在那里不同的活动用户将被给予分数,我可以添加分数给用户,但分数是单独显示为同一个用户,而不是我希望他们被显示为总分在前端一次。你知道吗

现在web门户结构是这样的

user1     10   document
user1     10   installation

我希望它显示为

user1    20

活动列将隐藏在前端

只有管理员在管理页面django中才能看到活动列。你知道吗

请帮帮我,我在这一点上从一个月震惊!!! 非常感谢。你知道吗


Tags: djangofromimportmodelsrequesthtmltableactivity