Django:如何在用户仪表板上呈现数据

时间:2019-05-04 08:25:53

标签: django django-models django-forms django-views

我是Django的新手。我正在一个项目中,管理员可以将一个团队分配给经理,并且应该在该经理的仪表板上查看该团队。即,只要管理员点击“分配”按钮,就会在该经理的信息中心中看到该按钮。但是我不知道该怎么办。

这是我的.html页面,管理员可以在其中看到所有经理的姓名

<div class="body table-responsive">
 <table class="table table-hover">
   <thead>
     <tr>
      <th>S No.</th>
       <th>COMPANY NAME</th>
        <th>TEAM MEMBER</th>
         <th>EMAIL</th>
          <th>ASSIGN TEAM</th>
        </tr>
      </thead>
        <tbody>
         {%for team in object%}
           <tr>
             <form id="form_id" method="POST" action = "{% url 'accept' %}">
               {% csrf_token %}
              <th scope="row"> {{ forloop.counter }}</th>
               <td>{{team.company_name}}</td>
                <td>{{team.team_member}}</td>
                 <td>{{team.email}}</td>
                  <td>
                     <select name="manager_{{manager.id}}">
                      {% for manager in managers %}
                        <option value ="{{manager.id}}">{{manager.name}}</option>
                      {% endfor %}                                   
                       </select>
                   </td>
                     <td>
                         <input class="btn btn-raised btn-primary btn-round waves-effect" type="submit" value="Assign">
                                    </td>
                    </tr>
                     {% endfor %}
                     </tbody>
                    </table>

这是我的views.py,管理员可以从中查看经理的姓名和所有信息

def accept(request):
 obj= Create_Team.objects.filter(status='Accept') 
 managers = manager.objects.all()
 if request.method == 'POST':
   acc = manager()
   manager_id = int(request.POST.get('manager', 1))
   acc.manager = manager.objects.get(pk=manager_id)

     return render(request, "admin/accept.html", {"object": obj,  "managers": managers})

这是我的views.py,管理器页面的渲染位置

def supervisor(request):
 return render(request, 'manager/index-3.html')

这是我给经理的model.py文件

class manager(models.Model):
 name = models.CharField(max_length= 500)
 designation = models.CharField(max_length= 500)
 class Meta:
    permissions = [
        ("edit_task", "can edit the task"),
    ]

def __str__(self):
    return self.name

我希望只要管理员可以选择一位经理,然后该团队就会显示在该经理的仪表板上。这是管理员页面的图像,他可以在其中看到所有管理员的姓名。here is the image

0 个答案:

没有答案