Страница не найдена ошибка в приложении Django - PullRequest
0 голосов
/ 23 декабря 2018

Я получаю эту ошибку, когда пытаюсь зайти на страницу сведений о моей модели поста.У меня есть поле slug в файле URL, но это не имеет значения.

Модель

TYPE_STATUS = (
    ('post', 'Post'),
    ('page', 'Page'),
    ('media', 'Media'),
    ('menu', 'Menu'),
)    

class Post(models.Model):
    title = models.CharField(max_length=70)
    slug = models.SlugField(blank=True, unique=True)
    type_status = models.CharField(max_length=70, default='post', 
    choices=TYPE_STATUS)
    description = models.TextField()
    short_description = models.CharField(max_length=155)
    image = models.ImageField(upload_to=upload_image_path, null=True, blank=True)
    active = models.BooleanField(default=True)
    timestamp = models.DateTimeField(auto_now_add=True)
    featured = models.BooleanField(default=False)

Просмотр

from django.views.generic import DetailView
from django.shortcuts import render
from posts.models import Post

class home_page(DetailView):
    queryset = Post.objects.filter(slug='home', featured=True)
    template_name = "home_page.html"

URL

from .views import home_page

urlpatterns = [
    url(r'^(?P<slug>[\w-]+)/$', home_page.as_view(), name='home'),
]

1 Ответ

0 голосов
/ 23 декабря 2018

Измените свой URL следующим образом

url(r'^(?P<slug>[-\w]+)/$', home_page.as_view(), name='home'),

Затем убедитесь, что у вас есть значение в queryset в вашем CBV DetailView

...