django.urls.exceptions.NoReverseMatch:找不到'post_detail'的反向。 'post_detail'不是有效的视图函数或模式名称

时间:2019-05-16 16:41:52

标签: python django

我得到了一个找不到'post_detail'的反向信息。 'post_detail'不是有效的视图函数或模式名称。我错过了什么还是监督了什么?

<a class="navbar-brand" href="{% url 'blog:post_list' %}">

urls.py

from django.urls import path
from . import views

app_name = 'blog'

urlpatterns = [
    path('', views.post_list, name='post_list'),
    path('post/<int:pk>/', views.post_detail, name='post_detail'),
]

views.py

from django.shortcuts import render, get_object_or_404
from django.utils import timezone
from .models import Post

def post_list(request):
    posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
    return render(request, 'blog/post_list.html', {'posts': posts})

def post_detail(request, pk):
    post = get_object_or_404(Post, pk=pk)
    return render(request, 'blog/post_detail.html', {'post': post})

models.py

from django.conf import settings
from django.db import models
from django.utils import timezone

class Post(models.Model):
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(max_length=100, unique=True)
    body = models.TextField()
    show = models.TextField(max_length=140, default='DEFAULT')
    created_date = models.DateTimeField(default=timezone.now)
    published_date = models.DateTimeField(blank=True, null=True)

def publish(self):
    self.published_date = timezone.now()
    self.save()

def __str__(self):
    return self.title

0 个答案:

没有答案