Я создаю свой первый сайт, используя Django. При создании формы и возврате веб-сайта на страницу сведений только что созданной страницы я столкнулся с этой проблемой NoReverseMatch по адресу / books / books / add / Reverse для «detail» с аргументами ключевого слова «{'pk': 39}» не найден,Попробован 1 шаблон (ов): ['books / (? P [0-9] +) / $ Я попытался исправить свой URL в файле urls.py, но, будучи новичком в этом, я не смог заставить его работать.
urls.py file
from django.conf.urls import url
from django.contrib import admin
from . import views
app_name = 'books'
URL patterns = [
url(r'^books/$', views.index, name='index'),
url(r'^$', views.index, name='index'),
url(r'^(?P<book_id>[0-9]+)/$', views.detail, name='detail'),
url(r'books/add/$',views.BookCreate.as_view(),name='book-add'),
]
model.py file
from django.db import models
# Create your models here.
from django.core.urlresolvers import reverse
class Books(models.Model):
def get_absolute_url(self):
return reverse('books:detail', kwargs={"pk":self.pk})
def __str__(self):
return self.name + '-' + self.author
name = models.CharField(max_length=100)
author = models.CharField(max_length=100)
price = models.CharField(max_length=100)
book_image = models.CharField(max_length=1000)