Hello. On pythonanywhere, it starts issuing just such an error, after logging in to the admin panel, if the user is anonymous, the site is displayed.
NoReverseMatch at / Reverse for 'blog.views.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] error itself:
Error during template rendering In template /home/xakslim/my-first-blog/blog/templates/blog/post_list.html, error at line 0 Reverse for 'blog.views.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] post_list:
1 {% extends 'blog/base.html' %} 2 3 {% block content %} 4 {% for post in posts %} 5 <div class="post"> 6 <div class="date"> 7 {{ post.published_date }} 8 </div> 9 <h1><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></h1> 10 <p>{{ post.text|linebreaksbr }}</p> 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_new, name='post_new'), url(r'^post/(?P<pk>[0-9]+)/edit/$', views.post_edit, name='post_edit'), ] views.py:
from django.shortcuts import render, get_object_or_404, redirect from .models import Post from django.utils import timezone from .forms import PostForm 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_new(request): if request.method == "POST": form = PostForm(request.POST) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.published_date = timezone.now() post.save() return redirect('blog.views.post_detail', pk=post.pk) else: form = PostForm() return render(request, 'blog/post_edit.html', {'form': form}) def post_edit(request, pk): post = get_object_or_404(Post, pk=pk) if request.method == "POST": form = PostForm(request.POST, instance=post) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.published_date = timezone.now() post.save() return redirect('blog.views.post_detail', pk=post.pk) else: form = PostForm(instance=post) return render(request, 'blog/post_edit.html', {'form': form})
urls.pyin urls project how to connect? - FeroxTLredirect('post_detail', pk=post.pk), or screw the namespace into include - FeroxTL