Не могу вызвать / передать данные из базы данных django на сайт, используя встроенную модель auth и созданную мной модель, к которой я не могу сделать запрос.

Любая помощь будет оценена по достоинству, в основном я новичок, и у меня возникают трудности с получением данных из моей базы данных. Я использовал встроенный метод auth из django, который вроде бы работает нормально, так как я могу получить данные пользователя. Однако, как только я хочу использовать свой класс Member, который я сделал в модели, ничего не работает. Не удается вывести все его данные. При просмотре страницы администратора я вижу таблицу аутентификации и авторизации и мою таблицу Members, созданную в models.py.

Когда я пытаюсь передать в контекст, однако ничего не отображается.

Мой index.html



{% block content %}
{% if user.is_authenticated %}
  Hi {{ user.username }}!
  Hi {{ user.email }}!
  <p><a href="{% url 'logout' %}">Log Out</a></p>
{% else %}
  <p>You are not logged in</p>
  Hi {{ all }}!
  <a href="{% url 'login' %}">Log In</a>
{% endif %}
{% endblock %}


{% block title %}Home{% endblock %} 

Мой Views.py

from django.shortcuts import render
from .models import Member
# Create your views here.

def index(request):
    all_members = Member.objects.all
    return render(request, 'index.html', context = {'all':all_members})

def ethos(request):
    return render(request, 'ethos.html', {})

Models.py

from django.db import models
from phonenumber_field.modelfields import PhoneNumberField

# Create your models here.

class Member(models.Model):
    phoneNumber = PhoneNumberField()
    firstName = models.CharField(max_length=50)
    lastName = models.CharField(max_length=100)
    jobDesc = models.CharField(max_length=200)
    yearsExperience = models.IntegerField()

    def __str__(self):
        return self.firstName + ' ' + self.lastName

Я могу отобразить имя пользователя из auth на index. Но все, что связано с классом Member, который будет отображаться, когда пользователь выходит из системы, не отображается.

У меня есть искушение начать с нуля, но время - это элемент, а реализация на этом этапе уже оказалась сложной в некоторых сценариях.

нужно несколько небольших изменений, во-первых, для объекта user нужно брать его из запроса, {{request.user}} и небольшая ошибка при вызове данных из базы данных:

def index(request):
    all_members = Member.objects.all() # here the () !
    return render(request, 'index.html', context = {'all':all_members})

в шаблоне:

{% block content %}
{% if request.user.is_authenticated %}
  Hi {{ request.user.username }}!
  Hi {{ request.user.email }}!
  <p><a href="{% url 'logout' %}">Log Out</a></p>
{% else %}
  <p>You are not logged in</p>
  Hi! {% for person in all %}<p>{{person}}</p>{% endfor %}
  <a href="{% url 'login' %}">Log In</a>
{% endif %}
{% endblock %}


{% block title %}Home{% endblock %}

Проблема заключалась в URL-адресах, следуя руководству, я установил шаблон для рендеринга template_as_view, а не view.

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