Django: Не удается получить поле bio из таблицы для отображения на странице

Я разработал небольшое тестовое приложение со страницей профиля с информацией о пользователе и биографией. Все отображается, кроме поля bio, это глупо и сводит с ума. Я перепробовал множество комбинаций, но безрезультатно. Пожалуйста, посмотрите мой код ниже: Кто-нибудь, пожалуйста, помогите.

views.py

from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
# Create your models here.

class TeacherProfile(models.Model):
    user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
    bio = models.TextField()

    def __str_from__(self):
        return self.user

models.py

def teacher_profile(request,pk):
    teacher_profile = TeacherProfile.objects.all()
    return render(request, 'registration/teacher_profile.html', {
        'teacher_profile':teacher_profile
        })

html

        <div class="container">
            <div class="row">
                <div class="col-lg-12">
                    <h1 class="page_heading">Teacher profile</h1>
                    <strong>Welcome back:</strong> {{user.username}} |
                     {{user.first_name}} {{user.last_name}} |
                      {{user.email}} |
                       <strong></strong>|
                       <a href="{% url 'edit_teacher_profile_view_url' user.pk %}">edit profile</a><br> |
                       <a href="{% url 'logout' %}">logout</a><br>
                    <strong>About me:</strong> 
                        {{user.bio}}
                    <hr>
                </div>
        </div>

Как объяснил @Jarad в комментариях выше. Имя переменной, доступное в django-шаблоне, будет teacher_profile, так как именно оно передается в контексте.

'teacher_profile':teacher_profile

Здесь вы можете использовать:

{{ teacher_profile.bio }}

Если вы задаетесь вопросом, почему user.first_name и user.last_name работают. Это потому, что в шаблоне Django уже передана переменная шаблона {{ user }}. обратитесь к соответствующему документу django-doc.

Вернуться на верх