2016-07-19 6 views
0

https://monajalal.pythonanywhere.com/に閲覧したときに、私は、このトレースバックを取得し、完全なコードがhttps://github.com/monajalal/FirstDjangoAppここで見つけることができます:引数 '()'とキーワード引数 '{}'がない 'post_new'を逆にします。 0のパターン(複数可)試してみました:[]

NoReverseMatch at/
Reverse for 'post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 
Request Method: GET 
Request URL: https://monajalal.pythonanywhere.com/ 
Django Version: 1.9.8 
Exception Type: NoReverseMatch 
Exception Value:  
Reverse for 'post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 
Exception Location: /home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 508 
Python Executable: /usr/local/bin/uwsgi 
Python Version: 3.5.1 
Python Path:  
['/var/www', 
'.', 
'', 
'/var/www', 
'/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5', 
'/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/plat-x86_64-linux-gnu', 
'/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/lib-dynload', 
'/usr/lib/python3.5', 
'/usr/lib/python3.5/plat-x86_64-linux-gnu', 
'/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages', 
'/home/monajalal/FirstDjangoApp'] 
Server time: Mon, 18 Jul 2016 20:31:01 -0500 
Error during template rendering 

In template /home/monajalal/FirstDjangoApp/blog/templates/blog/post_list.html, error at line 0 
Reverse for 'post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 
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> 
Traceback Switch to copy-and-paste view 

/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/defaulttags.py in render 
           current_app=current_app) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/core/urlresolvers.py in reverse 
    return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/core/urlresolvers.py in _reverse_with_prefix 
          (lookup_view_s, args, kwargs, len(patterns), patterns)) ... 
▶ Local vars 
During handling of the above exception (Reverse for 'mysite.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []), another exception occurred: 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/core/handlers/base.py in get_response 
        response = self.process_exception_by_middleware(e, request) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/core/handlers/base.py in get_response 
        response = wrapped_callback(request, *callback_args, **callback_kwargs) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/blog/views.py in post_list 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/shortcuts.py in render 
      template_name, context, request=request, using=using) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/loader.py in render_to_string 
     return template.render(context, request) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/backends/django.py in render 
      return self.template.render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in render 
        return self._render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in _render 
     return self.nodelist.render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in render 
       bit = node.render_annotated(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in render_annotated 
      return self.render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/loader_tags.py in render 
     return compiled_parent._render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in _render 
     return self.nodelist.render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in render 
       bit = node.render_annotated(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in render_annotated 
      return self.render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/defaulttags.py in render 
       return nodelist.render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in render 
       bit = node.render_annotated(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/base.py in render_annotated 
      return self.render(context) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/defaulttags.py in render 
         six.reraise(*exc_info) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/utils/six.py in reraise 
     raise value ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/template/defaulttags.py in render 
      url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/core/urlresolvers.py in reverse 
    return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))) ... 
▶ Local vars 
/home/monajalal/FirstDjangoApp/myvenv/lib/python3.5/site-packages/django/core/urlresolvers.py in _reverse_with_prefix 
          (lookup_view_s, args, kwargs, len(patterns), patterns)) ... 
▶ Local vars 

私はviews.pyでこれを持っている:

from django.shortcuts import render, get_object_or_404 
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_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('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('post_detail', pk=post.pk) 
    else: 
     form = PostForm(instance=post) 
    return render(request, 'blog/post_edit.html', {'form': form}) 

やブログフォルダ内のurls.pyに次の

from django.conf.urls import url 
from django.core.urlresolvers import reverse 
from . import views 

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

あなたは問題が何であるかヒントをいただけますか?

+0

おそらく、主なプロジェクトのURLにアプリのURLを含めていない可能性があります。 – Rohan

+1

[NoReverseMatchエラーとは何ですか?また修正するにはどうすればいいですか?](http://stackoverflow.com/questions/38390177/what-is-a-noreversematch-error-and-how-do-i-修理する) – Sayse

答えて

0

は、どちらかは、URL名前空間にアプリ名を指定する必要があります。

を参照してください。この - >https://docs.djangoproject.com/en/1.9/topics/http/urls/#url-namespaces

さもないと、あなたがこのようなあなたのHTMLテンプレートでURLを記述する必要があります。

<h1><a href="{% url 'app_name:post_detail' pk=post.pk %}">{{ post.title }}</a></h1> 

つまり、URLのネームスペースにアプリ名を指定していない場合は、逆にしながら、アプリの名前をhtmlのURLに指定する必要があります。

希望すると、これで問題は解決します。

関連する問題

 関連する問題