Вернуться список пользователей в профиле - PullRequest
1 голос
/ 16 января 2020

Я бы хотел, чтобы пользователи, классифицированные как студенты, могли просматривать все профили наставников / учителей вместе со своими ссылками на вопросы об их страницах в профилях

Это то, что я пробовал. Это мои views.py (Students.py):

#get list of mentors
def mentor_list(request):
    mentor_list = []
    users = User.objects.filter(is_teacher=True)
    mentor = Mentor.objects.get()
    for mentor in users:
        data = mentor.get_decoded()
        mentor_list.append(data.get('_auth_user_id', None))
    return User.objects.filter(id__in=mentor_list)

def render_mentor_list():
    return {'users': mentor_list() }

и мой html файл:

...
    {% if users %}
    <ul class="user-list">
        {% for user in users %}
        <li>{{ user.first_name }} {{ user.last_name }}</li>
        <li>{{ mentor.linkedin }}</li>
        {% endfor %}
    </ul>
    {% endif %}
...

и models.py:

class User(AbstractUser):
    is_student = models.BooleanField(default=False)
    is_teacher = models.BooleanField(default=False)
...
class Mentor(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE,primary_key=True)
    linkedin = models.URLField(max_length=200,null=True,blank=True)

В настоящее время в профиле студента ничего не отображается (html)

ОБНОВЛЕНИЕ

Я внес изменения в свой файл views.py после прочтения некоторых из Django документация, не уверен, что я на правильном пути - все еще с той же проблемой

def mentor_list(request):
    mentors = User.objects.filter(is_teacher=True).select_related('mentor')
    template_name = 'classroom/students/app-student-dashboard.html'
    context = {'mentors': mentors}
    return render(request, template_name, context)

Вот обновленный шаблон:

<ul class="user-list" id="mentors">
    {% for user in mentors %}
    <li>{{ user.first_name }} {{ user.last_name }}</li>
    <li>{{ user.mentor.linkedin }}</li>
</ul>

и urls.py:

path('students/', include(([
    path('', students.dashboard, name='quiz_list'),
    path('logout', students.logout_request, name="logout"),
    path('dashboard', students.dashboard, name='app-student-dashboard'),
    path('directory_grid', students.directory_grid, name='app-directory-grid'),
    path('take_course', students.take_course, name='app-take-course'),
    path('edit_user', students.edit_user, name='edit_user'),
    path('mentors', students.mentor_list, name='mentor'),
], 'classroom'), namespace='students')),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...