Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 试图在Heroku上部署,但出现服务器500错误_Django_Heroku_Web Deployment - Fatal编程技术网

Django 试图在Heroku上部署,但出现服务器500错误

Django 试图在Heroku上部署,但出现服务器500错误,django,heroku,web-deployment,Django,Heroku,Web Deployment,试图将我的应用程序部署到heroku,但出现500服务器错误。当地一切正常。我已将调试设置为False,我已运行 heroku run python manage.py migrate 是的 git add . git commit -am ' ready to deploy' git push heroku master 什么都没用 当我运行heroku日志时,我得到以下信息 (veins)apples-MacBook-Pro:zoe ray$ heroku logs 2016-0

试图将我的应用程序部署到heroku,但出现500服务器错误。当地一切正常。我已将调试设置为False,我已运行

heroku run python manage.py migrate
是的

git add .
git commit -am ' ready to deploy'
git push heroku master
什么都没用

当我运行heroku日志时,我得到以下信息

(veins)apples-MacBook-Pro:zoe ray$ heroku logs
    2016-04-02T06:01:42.740469+00:00 app[web.1]:     cursor.execute(sql, params)
    2016-04-02T06:01:42.740470+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/utils.py", line 79, in execute
    2016-04-02T06:01:42.740471+00:00 app[web.1]:     return super(CursorDebugWrapper, self).execute(sql, params)
    2016-04-02T06:01:42.740471+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
    2016-04-02T06:01:42.740472+00:00 app[web.1]:     return self.cursor.execute(sql, params)
    2016-04-02T06:01:42.740473+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/utils.py", line 95, in __exit__
    2016-04-02T06:01:42.740473+00:00 app[web.1]:     six.reraise(dj_exc_type, dj_exc_value, traceback)
    2016-04-02T06:01:42.740474+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
    2016-04-02T06:01:42.740474+00:00 app[web.1]:     raise value.with_traceback(tb)
    2016-04-02T06:01:42.740475+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
    2016-04-02T06:01:42.740475+00:00 app[web.1]:     return self.cursor.execute(sql, params)
    2016-04-02T06:01:42.740476+00:00 app[web.1]: django.db.utils.ProgrammingError: relation "blog_post" does not exist
    2016-04-02T06:01:42.740477+00:00 app[web.1]: LINE 1: ...blog_post"."video", "blog_post"."video_path" FROM "blog_post...
    2016-04-02T06:01:42.740477+00:00 app[web.1]:                                                              ^
    2016-04-02T06:01:42.740481+00:00 app[web.1]: 
    2016-04-02T06:01:42.946479+00:00 heroku[router]: at=info method=GET path="/" host=obscure-brushlands-92656.herokuapp.com request_id=f3c1fae5-6cc4-4550-b6c2-eb1a0e2bee56 fwd="67.86.108.92" dyno=web.1 connect=0ms service=398ms status=500 bytes=124376
    2016-04-02T06:07:31.152260+00:00 heroku[slug-compiler]: Slug compilation started
    2016-04-02T06:07:31.152265+00:00 heroku[slug-compiler]: Slug compilation finished
    2016-04-02T06:07:30.975815+00:00 heroku[api]: Deploy 722c474 by darraysk@gmail.com
    2016-04-02T06:07:30.975815+00:00 heroku[api]: Release v10 created by darraysk@gmail.com
    2016-04-02T06:07:31.126625+00:00 heroku[web.1]: Restarting
    2016-04-02T06:07:31.127170+00:00 heroku[web.1]: State changed from up to starting
    2016-04-02T06:07:36.620656+00:00 heroku[web.1]: Stopping all processes with SIGTERM
    2016-04-02T06:07:37.634475+00:00 heroku[web.1]: Starting process with command `gunicorn zoe.wsgi --log-file -`
    2016-04-02T06:07:38.159253+00:00 app[web.1]: [2016-04-02 06:07:38 +0000] [3] [INFO] Handling signal: term
    2016-04-02T06:07:40.023938+00:00 app[web.1]: [2016-04-02 06:07:40 +0000] [3] [INFO] Starting gunicorn 19.4.5
    2016-04-02T06:07:40.024557+00:00 app[web.1]: [2016-04-02 06:07:40 +0000] [3] [INFO] Listening at: http://0.0.0.0:39370 (3)
    2016-04-02T06:07:40.024671+00:00 app[web.1]: [2016-04-02 06:07:40 +0000] [3] [INFO] Using worker: sync
    2016-04-02T06:07:40.027892+00:00 app[web.1]: [2016-04-02 06:07:40 +0000] [7] [INFO] Booting worker with pid: 7
    2016-04-02T06:07:40.042782+00:00 app[web.1]: [2016-04-02 06:07:40 +0000] [8] [INFO] Booting worker with pid: 8
    2016-04-02T06:07:41.334511+00:00 heroku[web.1]: State changed from starting to up
    2016-04-02T06:07:44.708412+00:00 app[web.1]: [2016-04-02 02:07:44 -0400] [8] [INFO] Worker exiting (pid: 8)
    2016-04-02T06:07:44.707345+00:00 app[web.1]: [2016-04-02 02:07:44 -0400] [7] [INFO] Worker exiting (pid: 7)
    2016-04-02T06:07:44.998762+00:00 heroku[router]: at=info method=GET path="/" host=obscure-brushlands-92656.herokuapp.com request_id=4a801b6e-a744-4ba9-9110-ac975c94209c fwd="67.86.108.92" dyno=web.1 connect=0ms service=341ms status=500 bytes=239
    2016-04-02T06:07:45.110398+00:00 app[web.1]: [2016-04-02 06:07:45 +0000] [3] [INFO] Shutting down: Master
    2016-04-02T06:07:46.168820+00:00 heroku[web.1]: Process exited with status 0
    2016-04-02T06:10:35.425027+00:00 heroku[api]: Starting process with command `python manage.py migrate` by darraysk@gmail.com
    2016-04-02T06:10:42.040062+00:00 heroku[run.2415]: Awaiting client
    2016-04-02T06:10:42.061407+00:00 heroku[run.2415]: Starting process with command `python manage.py migrate`
    2016-04-02T06:10:42.279921+00:00 heroku[run.2415]: State changed from starting to up
    2016-04-02T06:10:46.387084+00:00 heroku[run.2415]: Process exited with status 0
    2016-04-02T06:10:46.416848+00:00 heroku[run.2415]: State changed from up to complete
    2016-04-02T06:10:57.595523+00:00 heroku[router]: at=info method=GET path="/" host=obscure-brushlands-92656.herokuapp.com request_id=826f1c8a-aa38-4f0f-8bc8-4f1c5a4ecdbc fwd="67.86.108.92" dyno=web.1 connect=0ms service=62ms status=500 bytes=239
    2016-04-02T06:11:02.831354+00:00 heroku[router]: at=info method=GET path="/" host=obscure-brushlands-92656.herokuapp.com request_id=98dc2e1f-d3d4-4f5b-83ea-41fed4173d93 fwd="67.86.108.92" dyno=web.1 connect=0ms service=57ms status=500 bytes=239
    2016-04-02T06:14:09.380829+00:00 heroku[api]: Deploy 612dac6 by raysk@gmail.com
    2016-04-02T06:14:09.380829+00:00 heroku[api]: Release v11 created by raysk@gmail.com
    2016-04-02T06:14:09.539964+00:00 heroku[slug-compiler]: Slug compilation started
    2016-04-02T06:14:09.539969+00:00 heroku[slug-compiler]: Slug compilation finished
    2016-04-02T06:14:09.751419+00:00 heroku[web.1]: State changed from up to starting
    2016-04-02T06:14:09.748910+00:00 heroku[web.1]: Restarting
    2016-04-02T06:14:12.589888+00:00 heroku[web.1]: Stopping all processes with SIGTERM
    2016-04-02T06:14:13.369470+00:00 app[web.1]: [2016-04-02 06:14:13 +0000] [3] [INFO] Handling signal: term
    2016-04-02T06:14:14.302512+00:00 app[web.1]: [2016-04-02 02:14:14 -0400] [7] [INFO] Worker exiting (pid: 7)
    2016-04-02T06:14:14.340173+00:00 app[web.1]: [2016-04-02 02:14:14 -0400] [8] [INFO] Worker exiting (pid: 8)
    2016-04-02T06:14:14.583043+00:00 app[web.1]: [2016-04-02 06:14:14 +0000] [3] [INFO] Shutting down: Master
    2016-04-02T06:14:15.409910+00:00 heroku[web.1]: Process exited with status 0
    2016-04-02T06:14:15.746975+00:00 heroku[web.1]: Starting process with command `gunicorn zoe.wsgi --log-file -`
    2016-04-02T06:14:18.296264+00:00 app[web.1]: [2016-04-02 06:14:18 +0000] [3] [INFO] Starting gunicorn 19.4.5
    2016-04-02T06:14:18.297558+00:00 app[web.1]: [2016-04-02 06:14:18 +0000] [3] [INFO] Listening at: http://0.0.0.0:5053 (3)
    2016-04-02T06:14:18.297718+00:00 app[web.1]: [2016-04-02 06:14:18 +0000] [3] [INFO] Using worker: sync
    2016-04-02T06:14:18.303157+00:00 app[web.1]: [2016-04-02 06:14:18 +0000] [7] [INFO] Booting worker with pid: 7
    2016-04-02T06:14:18.337725+00:00 app[web.1]: [2016-04-02 06:14:18 +0000] [8] [INFO] Booting worker with pid: 8
    2016-04-02T06:14:19.451560+00:00 heroku[web.1]: State changed from starting to up
    2016-04-02T06:14:21.933300+00:00 app[web.1]: Internal Server Error: /
    2016-04-02T06:14:21.933312+00:00 app[web.1]: Traceback (most recent call last):
    2016-04-02T06:14:21.933313+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/base.py", line 149, in get_response
    2016-04-02T06:14:21.933314+00:00 app[web.1]:     response = self.process_exception_by_middleware(e, request)
    2016-04-02T06:14:21.933315+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/core/handlers/base.py", line 147, in get_response
    2016-04-02T06:14:21.933316+00:00 app[web.1]:     response = wrapped_callback(request, *callback_args, **callback_kwargs)
    2016-04-02T06:14:21.933317+00:00 app[web.1]:   File "/app/blog/views.py", line 21, in post_list
    2016-04-02T06:14:21.933344+00:00 app[web.1]:     latest_article = Post.published.latest('created')
    2016-04-02T06:14:21.933345+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/models/manager.py", line 122, in manager_method
    2016-04-02T06:14:21.933346+00:00 app[web.1]:     return getattr(self.get_queryset(), name)(*args, **kwargs)
    2016-04-02T06:14:21.933347+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/models/query.py", line 544, in latest
    2016-04-02T06:14:21.933348+00:00 app[web.1]:     return self._earliest_or_latest(field_name=field_name, direction="-")
    2016-04-02T06:14:21.933349+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/models/query.py", line 538, in _earliest_or_latest
    2016-04-02T06:14:21.933349+00:00 app[web.1]:     return obj.get()
    2016-04-02T06:14:21.933350+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.5/site-packages/django/db/models/query.py", line 387, in get
    2016-04-02T06:14:21.933351+00:00 app[web.1]:     self.model._meta.object_name
    2016-04-02T06:14:21.933446+00:00 app[web.1]: blog.models.DoesNotExist: Post matching query does not exist.
    2016-04-02T06:14:22.079558+00:00 heroku[router]: at=info method=GET path="/" host=obscure-brushlands-92656.herokuapp.com request_id=dcfa294d-0e95-42b2-89ea-f3fb0079ffaf fwd="67.86.108.92" dyno=web.1 connect=1ms service=720ms status=500 bytes=74281
    2016-04-02T06:25:36.260686+00:00 heroku[api]: Deploy 17dd9d2 by raysk@gmail.com
    2016-04-02T06:25:36.260686+00:00 heroku[api]: Release v12 created by raysk@gmail.com
    2016-04-02T06:25:36.435629+00:00 heroku[slug-compiler]: Slug compilation started
    2016-04-02T06:25:36.435638+00:00 heroku[slug-compiler]: Slug compilation finished
    2016-04-02T06:25:36.374326+00:00 heroku[web.1]: Restarting
    2016-04-02T06:25:36.375144+00:00 heroku[web.1]: State changed from up to starting
    2016-04-02T06:25:41.211458+00:00 heroku[web.1]: Stopping all processes with SIGTERM
    2016-04-02T06:25:42.383832+00:00 app[web.1]: [2016-04-02 06:25:42 +0000] [3] [INFO] Handling signal: term
    2016-04-02T06:25:44.015508+00:00 heroku[web.1]: Starting process with command `gunicorn zoe.wsgi --log-file -`
    2016-04-02T06:25:47.892982+00:00 app[web.1]: [2016-04-02 06:25:47 +0000] [3] [INFO] Starting gunicorn 19.4.5
    2016-04-02T06:25:47.893186+00:00 app[web.1]: [2016-04-02 06:25:47 +0000] [3] [INFO] Listening at: http://0.0.0.0:17481 (3)
    2016-04-02T06:25:47.893308+00:00 app[web.1]: [2016-04-02 06:25:47 +0000] [3] [INFO] Using worker: sync
    2016-04-02T06:25:47.905428+00:00 app[web.1]: [2016-04-02 06:25:47 +0000] [7] [INFO] Booting worker with pid: 7
    2016-04-02T06:25:47.932437+00:00 app[web.1]: [2016-04-02 06:25:47 +0000] [8] [INFO] Booting worker with pid: 8
    2016-04-02T06:25:48.665213+00:00 heroku[web.1]: State changed from starting to up
    2016-04-02T06:25:56.840201+00:00 app[web.1]: [2016-04-02 02:25:56 -0400] [8] [INFO] Worker exiting (pid: 8)
    2016-04-02T06:25:56.845143+00:00 app[web.1]: [2016-04-02 02:25:56 -0400] [7] [INFO] Worker exiting (pid: 7)
    2016-04-02T06:25:57.944293+00:00 app[web.1]: [2016-04-02 06:25:57 +0000] [3] [INFO] Shutting down: Master
    2016-04-02T06:25:59.048324+00:00 heroku[web.1]: Process exited with status 0
    2016-04-02T06:26:29.718005+00:00 heroku[router]: at=info method=GET path="/" host=obscure-brushlands-92656.herokuapp.com request_id=60816714-1381-435c-b5f1-4b1274ca4905 fwd="67.86.108.92" dyno=web.1 connect=1ms service=690ms status=500 bytes=239
我的问题是什么?欢迎所有指导

编辑

下面是我的观点.py

from django.shortcuts import render, get_object_or_404, HttpResponseRedirect, Http404, redirect
    from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
    from .forms import ContactForm, SubmitForm, FeedForm
    from django.core.mail import send_mail
    from django.conf import settings
    from taggit.models import Tag
    from django.db.models import Count
    from haystack.query import SearchQuerySet
    from django.contrib import messages

    from .forms import PostForm
    from .models import Post, Article, Feed

    import feedparser
    import datetime


    def post_list(request, tag_slug=None):
        object_list = Post.published.all().order_by('-id')
        articles = Article.objects.all()[:8]
        latest_article = Post.published.latest('created')

        tag = None
        if tag_slug:
            tag = get_object_or_404(Tag, slug=tag_slug)
            object_list = object_list.filter(tags__in=[tag])
        paginator = Paginator(object_list, 7) # 3 posts in each page
        page = request.GET.get('page')
        try:
            posts = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer deliver the first page
            posts = paginator.page(1)
        except EmptyPage:
            # If page is out of range deliver last page of results
            posts = paginator.page(paginator.num_pages)
        template = 'blog/post/list.html'
        title = 'main'
        context = {
            'page': page,
            'posts': posts,
            'tag': tag,
            'title': title,
            'articles': articles,
            'latest': latest_article
        }
        return render(request, template, context)


    def post_detail(request, slug=None):
        post = get_object_or_404(Post, slug=slug)

        # List of similar posts
        post_tags_ids = post.tags.values_list('id', flat=True)
        similar_posts = Post.published.filter(tags__in=post_tags_ids)\
            .exclude(id=post.id)
        similar_posts = similar_posts.annotate(same_tags=Count('tags'))\
            .order_by('-same_tags', '-publish')[:4]

        template = 'blog/post/detail.html'
        context = {
            "post": post,
            'similar_posts': similar_posts
        }
        return render(request, template, context)


    def post_create(request):
        if not request.user.is_staff or not request.user.is_superuser:
            raise Http404
        form = PostForm(request.POST or None, request.FILES or None)
        if form.is_valid():
            instance = form.save(commit=True) # changed from form.save(commit=False)
            instance.save()
            messages.success(request, "Created !!")
            return HttpResponseRedirect(instance.get_absolute_url())
        template = "blog/post/post_form.html"
        context = {
            "form": form
        }
        return render(request, template, context)


    def post_update(request, slug=None):
        if not request.user.is_staff or not request.user.is_superuser:
            raise Http404
        instance = get_object_or_404(Post, slug=slug)
        form = PostForm(request.POST or None, request.FILES or None, instance=instance)
        if form.is_valid():
            instance = form.save(commit=True)
            instance.user = request.user
            instance.save()
            messages.success(request, "Saved !!")
            return HttpResponseRedirect(instance.get_absolute_url())
        template = "blog/post/post_form.html"
        context = {
            "instance": instance,
            "name": instance.title,
            "form": form,
        }
        return render(request, template, context)


    def post_delete(request, id):
        if not request.user.is_staff or not request.user.is_superuser:
            raise Http404
        instance = get_object_or_404(Post, id=id)
        instance.delete()
        messages.success(request, "Deleted !!")
        return redirect('blog:post_list')


    def contact(request):
        form = ContactForm()

        if request.method == 'POST':
            # Form was submitted
            form = ContactForm(request.POST or None)
            if form.is_valid():

                form_email_from = form.cleaned_data.get("email_from")
                form_message = form.cleaned_data.get("message")
                form_full_name = form.cleaned_data.get("full_name")
                # print(email, email_from, message)

                hispanic_mail = 'hispanicheight@gmail.com'
                subject = 'Site contact form'
                contact_message = settings.EMAIL_HOST_USER
                from_email = settings.EMAIL_HOST_USER
                to_email = hispanic_mail
                contact_message = "{}: {} via {}".format(form_full_name, form_message, form_email_from)
                send_mail(subject,
                          contact_message,
                          from_email,
                          [to_email],
                          fail_silently=False)

        template = 'blog/post/contact.html'
        context = {
            'form': form,
        }
        return render(request, template, context)


    def video_submission(request):
        form = SubmitForm()

        if request.method == 'POST':
            # Form was submitted
            form = SubmitForm(request.POST or None)
            if form.is_valid():
                video_title = form.cleaned_data.get("title")
                form_message = form.cleaned_data.get("video_description")
                form_email_from = form.cleaned_data.get("email")
                form_video_url = form.cleaned_data.get("video_url")

                # print(email, email_from, message)

                hispanic_mail = 'hispanicheight@gmail.com'
                subject = 'Video url submission'
                contact_message = settings.EMAIL_HOST_USER
                from_email = settings.EMAIL_HOST_USER
                to_email = hispanic_mail
                contact_message = "{}: {} from email: {}  video url {}".format(
                    video_title,
                    form_message,
                    form_email_from,
                    form_video_url
                )

                send_mail(subject,
                          contact_message,
                          from_email,
                          [to_email],
                          fail_silently=False)
                messages.success(request, "Your submission has been sent")

        template = 'blog/post/video_submission.html'
        context = {
            'form': form,
        }
        return render(request, template, context)


    def post_search(request):

        form = request.GET.get('q')
        results = SearchQuerySet().models(Post).filter(content=form)

        # count total results
        total_results = results.count()
        template = 'blog/post/search.html',
        context = {
            'form': form,
            'results': results,
            'total_results': total_results

        }
        return render(request, template, context)


    def privacy(request):
        template = "blog/lo_nav/privacy.html"
        context = {
        }
        return render(request, template, context)


    def terms(request):
        template = "blog/lo_nav/terms.html"
        context = {
        }
        return render(request, template, context)


    def dmca(request):
        template = "blog/lo_nav/dmca.html"
        context = {
        }
        return render(request, template, context)


    def articles_list(request):
        articles = Article.objects.all()

        template = 'news/feed_articles.html'
        context = {
            "articles": articles
        }
        return render(request, template, context)


    def article_delete(request, id):
        if not request.user.is_staff or not request.user.is_superuser:
            raise Http404
        instance = get_object_or_404(Article, id=id)
        instance.delete()
        messages.success(request, "Deleted !!")
        return redirect('blog:feed_articles')


    def feed_list(request):

        feeds = Feed.objects.all()
        template = 'news/feed_list.html'
        context = {
            "feeds": feeds,


        }
        return render(request, template, context)


    def feed_delete(request, id):
        if not request.user.is_staff or not request.user.is_superuser:
            raise Http404
        instance = get_object_or_404(Feed, id=id)
        instance.delete()
        messages.success(request, "Deleted !!")
        return redirect('blog:feed_list')


    def new_feed(request):
        if request.method == "POST":
            form = FeedForm(request.POST)
            if form.is_valid():
                feed = form.save(commit=False)

                existing_feed = Feed.objects.filter(url=feed.url)
                # if a feed exists it wont make a duplicate
                if len(existing_feed) == 0:
                    feedData = feedparser.parse(feed.url)

                    # set some fields
                    feed.title = feedData.feed.title
                    feed.save()

                    for entry in feedData.entries:
                        article = Article()
                        article.title = entry.title
                        article.url = entry.link
                        article.description = entry.description

                        d = datetime.datetime(*(entry.published_parsed[0:6]))
                        date_string = d.strftime('%Y-%m-%d %H:%M:%S')

                        article.publication_date = date_string
                        article.feed = feed
                        article.save()

                return redirect('blog:feed_list')
        else:
            form = FeedForm()
        template = 'news/new_feed.html'
        context = {
            "form": form
        }
        return render(request, template, context)
我的模特

from django.db import models
    from django.core.urlresolvers import reverse
    from taggit.managers import TaggableManager

    # added for slug creation
    from django.db.models.signals import pre_save
    from django.utils.text import slugify

    from django.utils import timezone
    from django.contrib.auth.models import User


    class PublishedManager(models.Manager):
        def get_queryset(self):
            return super(PublishedManager,
                self).get_queryset().filter(status='published')


    # relative to media_cdn i.e. media_cdn/20/car.jpg
    def upload_location(instance, filename):
        return "{}/{}".format(instance.id, filename)


    class Post(models.Model):

        STATUS_CHOICES = (
           ('draft', 'Draft'),
           ('published', 'Published'),
        )
        title = models.CharField(max_length=250)
        slug = models.SlugField(max_length=250,
                                unique_for_date='publish')
        image = models.ImageField(upload_to=upload_location,
                                  null=True,
                                  blank=True,
                                  height_field='height_field',
                                  width_field='width_field')
        height_field = models.IntegerField(default=0)
        width_field = models.IntegerField(default=0)
        author = models.ForeignKey(User,
                                   related_name='blog_posts')
        body = models.TextField()
        publish = models.DateTimeField(default=timezone.now)
        created = models.DateTimeField(auto_now_add=True)
        updated = models.DateTimeField(auto_now=True)
        status = models.CharField(max_length=10,
                                  choices=STATUS_CHOICES,
                                  default='draft')
        video = models.BooleanField(default=False)
        video_path = models.CharField(max_length=320,
                                      null=True,
                                      blank=True,)

        class Meta:
            ordering = ('-publish',)

        def __str__(self):
            return self.title

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


        objects = models.Manager() # The default manager.
        published = PublishedManager() # Our custom manager.
        tags = TaggableManager()


    def create_slug(instance, new_slug=None):
        slug = slugify(instance.title)
        if new_slug is not None:
            slug = new_slug
        qs = Post.objects.filter(slug=slug).order_by("-id")
        exists = qs.exists()
        if exists:
            new_slug = "%s-%s" % (slug, qs.first().id)
            return create_slug(instance, new_slug=new_slug)
        return slug


    def pre_save_post_receiver(sender, instance, *args, **kwargs):
        if not instance.slug:
            instance.slug = create_slug(instance)


    pre_save.connect(pre_save_post_receiver, sender=Post)

    class Feed(models.Model):
        title = models.CharField(max_length=200)
        url = models.URLField()
        is_active = models.BooleanField(default=False)

        def __str__(self):
            return self.title
        # newest first

        class Meta:
            ordering = ["-id"]


    class Article(models.Model):
        feed = models.ForeignKey(Feed)
        title = models.CharField(max_length=200)
        url = models.URLField()
        description = models.TextField()
        publication_date = models.DateTimeField()

        def __str__(self):
            return self.title
        # newest first

        class Meta:
            ordering = ["-id"]
似乎我的数据库甚至没有被创建。我看到另一个帖子也有类似的问题,但他跑了

python manage.py syncdb -all
我应该跑步吗

python manage.py迁移-全部


我已经迁移了,我还没有全部尝试。我刚刚看到它,现在正在上学,这就是为什么我还没有尝试它的原因

从您的日志中,我看到这个“blog.models.DoesNotExist:Post matching query note exist”,这意味着您的Post QuerySet找不到任何结果。这可能是因为您没有与Post相关的外来对象。所以我如何修复它?在我迁移数据库之后,难道不能找到结果吗?您能显示在该查询上执行的代码吗?我相信这是一种观点或类似的东西。