Восстановление данных из базы данных с помощью objects.all() не работает

#python #mysql #django

#python #mysql #django

Вопрос:

Я новичок в django и python, и я пытаюсь извлечь некоторые записи из базы данных, но при вызове Criminal.objects.all() Я ничего не получаю, поэтому отображается «Ничего». Однако я проверил, и в моей таблице есть 2 записи.

models.py

 from django.db import models


# Create your models here.

class Criminal(models.Model):
    cid = models.CharField(max_length=20)
    cssn = models.IntegerField()
    cfirst_name = models.CharField(max_length=20)
    clast_name = models.CharField(max_length=20)
    cdob = models.DateField()
    cpob = models.CharField(max_length=15)

    class Meta:
        managed = True
        db_table = "criminal"
  

views.py

 from django.http import *
from django.shortcuts import render
from .models import *


# Create your views here.

def home(request):
    return render(request, 'home.html', {'name': 'SE mini project'})

def index(request):
    criminals = Criminal.objects.all()
    return render(request, 'home.html', {'obj': criminals})
  

home.html

 {% extends 'base.html' %}

{% block content %}

<h1> {{name}} </h1>

{% if obj %}
    {% for v in obj %}
        {{v.cfirst_name}}<br>
        {{v.clast_name}}<br>
        {{v.cdob}}<br>
        {{v.cpob}}<br>

{% endfor %}
{% else %}
Nothing
{% endif %}

{% endblock %}
  

введите описание изображения здесь

Комментарии:

1. Привет, Ливия, ты можешь добавить urls.py ?

2. кажется, ваш URL указывает на неправильный вид

3. from django.urls import path from . import views urlpatterns= [ path('', views.home, name='home') ]

4. Действительно, была проблема в urls.py , после добавления path(‘index’, views.index, name=’index’) и path («, views.home, name=’home’) это сработало.