url не найден - Django

108
10

Я получаю "URL не найдена ошибка" на моем веб-сайте. Это мои файлы:

myapp.urls:

url(r'^produkty/', include('supplement.urls', namespace='supplements')),

supplement.urls:

urlpatterns = [
url(r'^(?P<slug>[-\w]+)/$', SupplementDetailView.as_view(), name='detail'),
url(r'^$', SupplementListView.as_view(), name='list'),]

supplement.views:

class SupplementListView(ListView):
def get_queryset(self):
return Supplement.objects.all()

class SupplementDetailView(DetailView):
queryset = Supplement.objects.all()

ПРИМЕЧАНИЕ. И queryset = Supplement.objects.all() и get_queryset (self): return Supplement.objects.all() не работает в приложении SupplementDetailView

supplement.models:

class Supplement(models.Model):
name = models.CharField(blank=False, null=False, help_text=_("product name"), max_length=50)
price = models.IntegerField(blank=True, null=True)
portion = models.CharField(max_length=100, blank=True, null=True, help_text=_("portion"))
img = models.ImageField(default='kitchen/No-image-available.jpg', upload_to='products/', blank=True, null=True)
description = RichTextField()
contains = models.CharField(blank=True, null=True, max_length=3000, help_text=_("contains"))
slug = models.SlugField(max_length=150, blank=True, null=True)

def __str__(self):
return self.name

def get_absolute_url(self):
return reverse('supplements:detail', kwargs={"slug": self.slug})

class Meta:
ordering = ['-name']
verbose_name = _('supplement')
verbose_name_plural = _('supplements')

def rl_pre_save_receiver(sender, instance, *args, **kwargs):
if not instance.slug:
instance.slug = unique_slug_generator(instance)

pre_save.connect(rl_pre_save_receiver, sender=Supplement)

Шаблоны для дополненияListView и SupplementDetailView размещаются в BASE_DIR/дополнение/шаблоны/дополнение.

ПРИМЕЧАНИЕ. Приложение AddDetailView работает как шарм. Он загружает информацию о продукте, переданном в URL-адресе (например: myapp.pl/produkty/product-slug), но список продуктов (myapp.pl/produkty) возвращает "URL-адрес не найденной ошибки",

Спасибо за вашу помощь заранее, я уже давно борюсь с этой ошибкой.

спросил(а) 2021-01-25T19:20:47+03:00 4 месяца, 4 недели назад
1
Решение
77

Я наконец нашел ответ: у меня это было в файле myapp.urls:

url(r'^', include('opinions.urls', namespace='home')),    
url(r'^produkty/', include('supplement.urls', namespace='supplements')),

поэтому всякий раз, когда я входил в "myapp.pl/produkty/", Джанго был убежден, что "produkty" - это пуля для модели мнения. Я переключил оба шаблона url (поэтому сначала загружается шаблон для namespace = 'addplements'), и все работает отлично.

ответил(а) 2021-01-25T19:20:47+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема