2016-08-12 5 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 }} 
관련 문제