Я бы хотел, чтобы пользователи, классифицированные как студенты, могли просматривать все профили наставников / учителей вместе со своими ссылками на вопросы об их страницах в профилях
Это то, что я пробовал. Это мои 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')),