gpt4 book ai didi

django - 找不到页面 (404) Django : 错误

转载 作者:行者123 更新时间:2023-12-01 13:21:39 25 4
gpt4 key购买 nike

我们正在查看的输出是获取页面上的标题 http://127.0.0.1:8000/courses/1/1/以及更多页面/2/或/3/

类(class)/views.py

from django.shortcuts import get_object_or_404, render

from .models import Course, Step

def course_list(request):
courses = Course.objects.all()
return render(request, 'courses/course_list.html',
{'courses': courses})

def course_detail(request, pk):
course = get_object_or_404(Course, pk=pk)
return render(request, 'courses/course_detail.html',
{'course': course})

def step_detail(request, course_pk, step_pk):
step = get_object_or_404(Step, course_id=course_pk, pk=step_pk)
return render(request, 'courses/step_detail.html',
{'step': step})

我们的重点是:

def step_detail(request, course_pk, step_pk):

step = get_object_or_404(Step, course_id=course_pk, pk=step_pk)

return render(request, 'courses/step_detail.html', {'step': step})

step_detail.html

{% extends "layout.html" %}

{% block title %} {{ step.title }} - {{ step.course.title }}{% endblock %}
{% block content %}
<article>
<h2> {{step.course.title }} </h2>
<h3> {{step.title }} </h3>
{{ step.content|linebreaks }}
</article>
{% endblock %}

类(class)/url.py

from django.conf.urls import url
from . import views

urlpatterns = [
url(r'^$', views.course_list),
url(r'(?P<course_pk>\d+)/(?P<step_pk>\d+)/$', views.step_detail),
url(r'(?P<pk>\d+)/$', views.course_detail),
]

最佳答案

实际上,您从这里得到了 404 错误

 step = get_object_or_404(Step, course_id=course_pk, pk=step_pk)

这里 (get_object_or_404) 你是说如果找不到具有给定 course_idstep_pkStep然后给出 404 错误,它也在做同样的事情。

您需要确保条目存在。您的代码看起来不错。

关于django - 找不到页面 (404) Django : 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49621631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com