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

Объявил 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
FishHook
LevikV
В результате ссылка формируется как надо, но при нажатии на нее ничего не происходит.
А покажите как именно выглядит ссылка в итоговом HTML. Дело в том, что чудес не бывает к сожалению, и если всё как надо, то будет работать.
LevikV
FishHook
Вот что у меня получается
LevikV
Разобрался)))) Вообщем я неправильно указал в представлении для детальной информации нужно использовать DetailView
 class BookDetailView(DetailView):
    model = Book
FishHook
LevikV
Покажите HTML!!!
F12 в браузере нажмите и вам откроется панель инструментов разработчика. Во вкладке Elements вы найдете структуру вашего DOMа.
LevikV
FishHook
LevikVПокажите HTML!!!F12 в браузере нажмите и вам откроется панель инструментов разработчика. Во вкладке Elements вы найдете структуру вашего DOMа.
Не совсем понял. Вам исходник сформированной страницы показать? Я проблему решил свою, я в представлении вместо generic.DetailView использовал generic.ListView
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB