2016-08-12 2 views
0

here is screenshot error 詳細ページで写真の追加ボタンをクリックした後にエラーが表示されるのは分かりませんが、入力したURLが細かいですが、送信後に詳細ページに戻ってきますが、 私のviews.pypython webframework django noreversematch

from django.views import generic 
from django.views.generic.edit import CreateView, UpdateView, DeleteView 
from django.core.urlresolvers import reverse_lazy 
from .models import Category, Photo 

class IndexView(generic.ListView): 
    template_name='gallery/index.html' 
    context_object_name='cat' 
    def get_queryset(self): 
     return Category.objects.all() 



class DetailView(generic.DetailView): 
    model=Category 
    template_name='gallery/detail.html' 
    context_object_name='cater' 



class CategoryCreate(CreateView): 
    model=Category 
    fields=['Category_title','artist','Category_logo'] 

私urls.py

from django.conf.urls import url 
from . import views 
app_name='gallery' 
urlpatterns=[ 

    url(r'^$',views.IndexView.as_view(),name='index'), 
    url(r'^(?P<pk>[0-9]+)/$',views.DetailView.as_view(),name='detail'), 

    #adding photo to category 
    url(r'(?P<pk>[0-9]+)/add/$',views.PhotoCreate.as_view(),name='add-  photo'), 
    url(r'category/add/$',views.CategoryCreate.as_view(),name='add-category'), 

    url(r'category/(?P<pk>[0- 9 ]+)/$',views.CategoryUpdate.as_view(),name='update-category'), 

]

私のmodels.py

from django.db import models 
from django.core.urlresolvers import reverse 
# Create your models here. 
class Category(models.Model): 
    Category_title=models.CharField(max_length=200) 
    artist=models.CharField(max_length=200) 
    Category_logo=models.FileField() 
    # returns to details page after submitting category form 
    def get_absolute_url(self): 
     return reverse('gallery:detail',kwargs={'pk':self.pk})  

    def __str__(self): 
     return self.Category_title + '-' +self.artist 

class Photo(models.Model): 
    cat=models.ForeignKey(Category,on_delete=models.CASCADE) 
    file_type=models.FileField() 
    photo_title=models.CharField(max_length=100) 
    # returns to details page after submitting photo form 
    def get_absolute_url(self): 
     return reverse('gallery:add-photo',kwargs={'pk':self.pk})  


    def __str__(self): 
     return self.photo_title 
+2

[の可能な複製を行うことができますhエラーとそれを修正する方法は?](http://stackoverflow.com/questions/38390177/what-is-a-noreversematch-error-and-how-do-i-fix-it) – e4c5

+0

これらのスペース実際にあなたのURLに存在する?ちょうど –

+0

テンプレートを表示すると、ボタンを表示する部分 – pleasedontbelong

答えて

1

問題は、テンプレートでpkを渡していないことです。スクリーンショットから、テンプレートのハイライトラインを見ると、URLに必要なキーワード引数がないことが明らかです...

エラーページの最初の行にも同じことが言及されていますキーワード引数{})

ただ、URL名の後にそれを言及し、それが

{% url 'gallery:add-photo' photo.pk %} 

かを動作するはずもNoReverseMatcは何

{{ photo.get_absolute_url }}