Ошибка Django NoReverseMatch на производстве

Когда я запускаю свой код на локальном сервере django с помощью "python manage.py runserver", все работает нормально, но когда я запускаю его на сервере pythonanywhere, я получаю ошибку NoReverseMatch. Я использую Git и вытащил весь код оттуда, но я проверил весь код, и это то же самое, что на моем компьютере, который работает нормально. Может кто-то сказать, что не так? Спасибо

NoReverseMatch at /
Reverse for 'post_create' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

views.py

from django.shortcuts import render, get_object_or_404,redirect
from django.utils import timezone

from .models import Post
from .forms import PostForm

    # Create your views here.
    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})


    def post_create(request):
        if request.method == 'POST':
            forms = PostForm(request.POST)
            if forms.is_valid():
                post = forms.save(commit=False)
                post.author = request.user
                post.published_date = timezone.now()
                post.save()
                return redirect('post_detail',pk = post.pk)

        else:
            forms = PostForm()
        context = {'forms': forms}
        return render(request, 'blog/post_create.html',context)

    def post_edit(request,pk):
        post = get_object_or_404(Post,pk=pk)
        if request.method == 'POST':
            forms = PostForm(request.POST,instance = post)
            if forms.is_valid():
                post = forms.save(commit=False)
                post.author = request.user
                post.published_date = timezone.now()
                post.save()
                return redirect('post_detail',pk = post.pk)
        else:
            forms = PostForm(instance=post)
        context = {'forms': forms}
        return render(request, 'blog/post_create.html',context)

блог /urls.py

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

urlpatterns = [
    url(r'^$', views.post_list, name='post_list'),
    url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail, name='post_detail'),
    url(r'^post/new/$', views.post_create, name='post_create'),
    url(r'^post/(?P<pk>[0-9]+)/edit/$', views.post_edit, name='post_edit'),

]

MySite/urls.py

from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'',include('blog.urls'))
]

0 ответов

Другие вопросы по тегам