Извинение за неправильное определение деталей в прошлый раз.Здесь я отредактировал и пост с более подробной информацией.Я пытаюсь проникнуть в мою ссылку.Вот slugify из utils.py в каталоге приложения:
from django.utils.text import slugify
def get_unique_slug(model_instance, slugable_field_name, slug_field_name):
slug = slugify(getattr(model_instance, slugable_field_name))
unique_slug = slug
extension = 1
ModelClass = model_instance.__class__
while ModelClass._default_manager.filter(
**{slug_field_name: unique_slug}
).exists():
unique_slug = '{}-{}'.format(slug, extension)
extension += 1
return unique_slug
и вот моя модель:
from django.db import models
from django.urls import reverse
from .utils import
class Post(models.Model):
name = models.CharField(db_index=True, max_length=300, blank=False)
content = models.TextField()
slug = models.SlugField(max_length=140, unique=True)
def __str__(self):
return self.name
def save(self, *args, **kwargs):
if not self.slug:
self.slug = get_unique_slug(self, 'name', 'slug')
super().save(*args, **kwargs)
def get_absolute_url(self):
return reverse("pastebin_app:detail",kwargs={'slug':self.slug})
и коды urls.py:
from django.conf.urls import url
from . import views
from .views import PostCreateView, PostCreateView, PostUpdateView, PostDeleteView,SearchView
app_name = 'pastebin_app'
urlpatterns = [
url(r'^search/$', views.SearchView.as_view(), name = 'search'),
url(r'^$', views.PostCreateView.as_view(), name = 'root'),
url(r'^(?P<slug>\[-\w\d]+)/$', views.PostDetailView.as_view(),name='detail'),
url(r'^update/(?P<slug>\[-\w]+)/$', views.PostUpdateView.as_view(),name='update'),
url(r'^delete/(?P<slug>\[-\w]+)/$', views.PostDeleteView.as_view(),name='delete'),
]
такТеперь я получаю ошибку NoReverseMatch со значением исключения: Значение исключения:
Reverse for 'detail' with keyword arguments '{'slug': 'slug-implemention2'}' not found. 1 pattern(s) tried: ['(?P<slug>\\[-\\w\\d]+)/$']
'detail' - это URL, к которому я обращаюсь get_absolute_url.Заранее спасибо