#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’) это сработало.