@Oleksandr_S
Начинающий програмист

Как создать динамически изменяемые страницы в Django?

Начал изучать Python + Django, решил написать простенький болг... Стала проблема с динамически изменяемым URL адресом статей с БД. В интеренете нашел инструкцию что да как, прописал, кидает ошибку page not found.
Вот мой код:

models:
class Gadgets(models.Model):
    title = models.CharField('Название', max_length=255)
    text = models.TextField('Текст', max_length=1000000)
    image = models.ImageField('Изображение', upload_to='images', blank=True, null=True)
    author = models.CharField('Автор', max_length=255)

    def __str__(self):
        return '{} | {} '.format(self.title, self.author)

    class Meta:
        verbose_name = 'Гаджет'
        verbose_name_plural = 'Гаджеты'


views:
def gadgets(request):
    gadget = Gadgets.objects.order_by('-id')
    data = {
        'gadget': gadget
    }
    return render(request, 'gadgets/gadgets.html', data)


class GadgetDetailView(DetailView):
    model = Gadgets
    template_name = 'gadgets/gadgets_detail.html'
    context_object_name = 'gadgets'


urls:
urlpatterns = [
    path('', views.gadgets),
    path('<int:pk', views.GadgetDetailView.as_view(), name='gadgets-detail')
]


Может кто подскажет где ошибка буду очень презнателен, зарание спасибо!
  • Вопрос задан
  • 522 просмотра
Пригласить эксперта
Ответы на вопрос 1
MercMarine
@MercMarine
Была такая же проблема, решение оказалось в файле urls.py в папке django/"Название проекта"/"Название проекта" был забыт слеш после news, из-за чего не создавалась ветка и выдавалась ошибка Page not found (404)
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('main.urls')),
    path('news/', include('news.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)


Возможно поможет с решением, иначе надо искать ошибку в БД.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы