Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Не открывает ссылку в Django проекте (вопрос от новичка) [RSS Feed]

#1 Июль 8, 2020 11:32:44

LevikV
Зарегистрирован: 2020-07-08
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не открывает ссылку в Django проекте (вопрос от новичка)

Здравствуйте. Помогите разобраться, что я делаю не так. Вообщем суть проблемы: не открывает детальную страницу информации о записи в БД.

Объявил URL преобразование в файле urls.py

 path('book/<int:pk>', views.BookDetailView.as_view(), name='book-detail')

URL генерирую методом get_absolute_url() в файле book_list.html
 {% for book in book_list %}
          <li>
            <a href="{{ book.get_absolute_url }}">{{ book.title }}</a> ({{ book.author }})
          </li>
      {% endfor %}

Метод get_absolute_url() объявлен в модели book в файле models.py
 def get_absolute_url(self):
        """
        Возвращает URL для доступа к конкретному экземпляру книги
        """
        return reverse('book-detail', args=[str(self.id)])

В представлении объявил объект
 class BookDetailView(generic.ListView):
    model = Book

Так же создал шаблон book_detail.html.
В результате ссылка формируется как надо, но при нажатии на нее ничего не происходит.
Вот ссылка на весь проект Проект на GitHub

Инфо о системе:
Мой компьютер на базе Windows 10
Python 3.8.3
Package Version
———- ——-
asgiref 3.2.10
Django 3.0.8
pip 20.1.1
pytz 2020.1
setuptools 47.3.1
sqlparse 0.3.1

Офлайн

#2 Июль 8, 2020 11:44:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8006
Репутация: +  558  -
Профиль   Отправить e-mail  

Не открывает ссылку в Django проекте (вопрос от новичка)

LevikV
В результате ссылка формируется как надо, но при нажатии на нее ничего не происходит.
А покажите как именно выглядит ссылка в итоговом HTML. Дело в том, что чудес не бывает к сожалению, и если всё как надо, то будет работать.



Офлайн

#3 Июль 8, 2020 11:53:17

LevikV
Зарегистрирован: 2020-07-08
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не открывает ссылку в Django проекте (вопрос от новичка)

FishHook
Вот что у меня получается

Прикреплённый файлы:
attachment Screenshot_7.png (66,7 KБ)

Офлайн

#4 Июль 8, 2020 12:01:18

LevikV
Зарегистрирован: 2020-07-08
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не открывает ссылку в Django проекте (вопрос от новичка)

Разобрался)))) Вообщем я неправильно указал в представлении для детальной информации нужно использовать DetailView

 class BookDetailView(DetailView):
    model = Book

Офлайн

#5 Июль 8, 2020 12:02:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8006
Репутация: +  558  -
Профиль   Отправить e-mail  

Не открывает ссылку в Django проекте (вопрос от новичка)

LevikV
Покажите HTML!!!
F12 в браузере нажмите и вам откроется панель инструментов разработчика. Во вкладке Elements вы найдете структуру вашего DOMа.



Офлайн

#6 Июль 8, 2020 14:00:44

LevikV
Зарегистрирован: 2020-07-08
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не открывает ссылку в Django проекте (вопрос от новичка)

FishHook
LevikVПокажите HTML!!!F12 в браузере нажмите и вам откроется панель инструментов разработчика. Во вкладке Elements вы найдете структуру вашего DOMа.
Не совсем понял. Вам исходник сформированной страницы показать? Я проблему решил свою, я в представлении вместо generic.DetailView использовал generic.ListView

Офлайн

  • Начало
  • » Django
  • » Не открывает ссылку в Django проекте (вопрос от новичка)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version