关系" blog_blog"不存在 - Django应用程序中的错误

时间:2018-04-27 15:55:50

标签: python django

我要编写简单的Django博客应用程序。

Django Version: 2.0.4 http://dpaste.com/0H62TQY - 这是错误输出。 (我希望在互联网上显示这个文件是安全的=))

models.py看起来像

from django.db import models
from django.shortcuts import reverse
from django.template.defaultfilters import slugify
from django.utils import timezone


class Blog(models.Model):
    author = models.ForeignKey('auth.User', on_delete=models.PROTECT)
    title = models.CharField(max_length=500)
    body = models.TextField()
    created_at = models.DateTimeField(default=timezone.now)
    slug = models.SlugField(default='', editable=False, unique=True, blank=False, null=False)

    class Meta:
        verbose_name_plural = "blog"

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        kwargs = {'slug': self.slug}
        return reverse('blog_detail', kwargs=kwargs)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.title)
        super().save(*args, **kwargs)

views.py看起来像

from django.views.generic import DetailView, ListView

from .models import Blog


class HomeView(ListView):
    template_name = 'blog/blog.html'
    queryset = Blog.objects.order_by('-created_at')


class BlogDetail(DetailView):
    model = Blog
    template_name = 'blog/blog-detail.html'

urls.py看起来像

from django.urls import path, re_path

from . import views


urlpatterns = [
    path(r'', views.HomeView.as_view(), name='home'),
    re_path(r'^(?P<slug>[-\w]*)/$', views.BlogDetail.as_view(), name='blog_detail'),
]

这是我的blog.html

                    {% for blog in blog_list %}
                    <div class="item-blog-txt p-t-33">
                        <h4 class="p-b-11">
                            <a class="m-text24" href="{{ blog.get_absolute_url }}">
                                {{ blog.title }}
                            </a>
                        </h4>

                        <div class="s-text8 flex-w flex-m p-b-21">
                                <span>
                                    {{ blog.author }}
                                    <span class="m-l-3 m-r-6">|</span>
                                </span>
                        </div>

                        <p class="p-b-12">
                            {{ blog.body|linebreaksbr }}
                        </p>

                        <a class="s-text20" href="{{ blog.get_absolute_url }}">
                            Continue Reading
                            <i aria-hidden="true" class="fa fa-long-arrow-right m-l-8"></i>
                        </a>
                    </div>
                    {% endfor %}

blog-detail.html看起来像<a href="{{ blog.get_absolute_url }}">{{ blog.title }},可以说出一切 如果您需要显示其他内容,请给我发电子邮件 makemigrationsmigrate已成立。 非常感谢你。

1 个答案:

答案 0 :(得分:0)

这是数据库中的问题 这是一个新项目,所以我也可以删除并启动一个新数据库。