【发布时间】:2021-09-01 16:15:55
【问题描述】:
我正在使用 django 3.2,我正在尝试学习如何在我的 html 页面上打印 models.py 数据。在此期间,我想在主页上添加一个 href 标记,该标记将重定向到带有对象 ID 的关于页面并显示其他详细信息。但它不起作用。
应用名称是 greeting_app
greeting_app/urls.py
from . import views
urlpatterns = [
path('', views.home, name="home"),
path('/about/<int:pk>/', views.about, name="about"),
]
greeting_app/models.py
from django.db import models
from django.db.models.enums import Choices
# Create your models here.
gender_choice = (
("0", "Nothing"),
("1", "Male"),
("2", "Female"),
)
class basicinformation(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
gender = models.CharField(choices=gender_choice, max_length=10)
description = models.TextField()
def __str__(self):
return self.name
greeting_app/views.py
from django.shortcuts import render, HttpResponse
from .models import basicinformation
# Create your views here.
def home(request):
information = basicinformation.objects.all()
return render(request, 'index.html', {"info":information})
def about(request, id):
data = basicinformation.objects.get(id=id)
return render(request, 'about.html', {"data":data})
【问题讨论】:
-
您在哪里呈现该链接?能否提供
insex.html模板的相关部分? -
我还没有在 index.html 中使用它,我只是想通过在 url 中直接输入 /about/object.id 来确保它正常工作。例如:127.0.0.1:8000/about/1
-
如果你使用
127.0.0.1:8000/about/1/,那么尾随斜杠呢? -
@WillemVanOnsem 我仍然使用尾部斜杠得到相同的错误。这是我得到的错误的屏幕截图。请看ibb.co/86d2w3r
-
@BhaweshChaudhary 您没有在屏幕截图上附加斜杠。