Как показать подробный вид телефонной книги? - PullRequest
1 голос
/ 28 сентября 2019

Я пытаюсь показать подробный вид контактов, хранящихся в телефонной книге.Телефонная книга (id, name) - это одна из моих моделей, которая является внешним ключом для модели Contact (id, first_name, last_name, phone_number, phone_book).

На моей странице указателя есть кнопка, которая открываеттелефонная книга.После этого я хочу, чтобы пользователь мог щелкнуть телефонную книгу, и ему будет показан подробный вид (имя, фамилия, номер телефона).

В view.py у меня есть функция, которая захватываетвся телефонная книга, проходит через контекст (dict).В моем шаблоне я использовал цикл for, чтобы просмотреть все телефонные книги и распечатать их.

Я не могу перенаправить страницу в подробный вид.Как получить телефонную книгу, по которой щелкнул пользователь?И как перенаправить страницу с ./view на ./detail

# view.py

def view_phone_book(request):
    all_phone_books = PhoneBook.objects.all()

    context = {
        'all_phone_books': all_phone_books
    }

    return render(request, "CallCenter/view_phone_book.html", context)

def detailed_view_phone_book(request):
    all_contacts = Contact.objects.all().filter(phone_book=phone_book_user_clicked_on)
    context = {
        'all_contacts': all_contacts
    }
    return render(request, "CallCenter/detailed_view_phone_book.html", context)
# urls.py
urlpatterns = [
    path('', index, name="index"),
    path('create/', create_phone_book, name="create"),
    path('add/', add_to_phone_book, name="add"),
    path('view/', view_phone_book, name="view"),
    path('detail/', detailed_view_phone_book, name="detailed_view")
]
# models.py
class PhoneBook(models.Model):
    """
        Model to store customer to a phone book
    """

    name = models.CharField(max_length=10, blank=False)

    def __str__(self):
        return self.name

class Contact(models.Model):

    """
        Model to store customer to a phone book.
    """

    first_name = models.CharField(max_length=50, blank=False)
    last_name = models.CharField(max_length=50, blank=False)
    phone_number = models.CharField(max_length=13, blank=False, unique=True)
    phone_book = models.ForeignKey(PhoneBook, on_delete=models.CASCADE)

    def __str__(self):
        return self.phone_number
<!--view_phone_book.html-->
<table>
   <tr>
     <th>Phone Book</th>
   </tr>

   {% for phone_book in all_phone_books %}
     <tr>
       <form method="get" action="../detail/"><td><a href="">{{ phone_book }}</a> </td></form>
     </tr>

    {% endfor %}
</table>


<!--detailed_view_phone_book.html-->
<table>
<tr>
     <th>First Name</th>
     <th>Last Name</th>
     <th>Phone Number</th>
   </tr>
   {% for phone_detail in all_phone_detail %}
    <tr>
       <form>
           <td>{{ phone_detail.first_name }}</td>
           <td>{{ phone_detail.last_name }}</td>
           <td>{{ phone_detail.phone_number }}</td>
        </form>
            </tr>
    {% endfor %}
</table>

Я не могу перейти с ./view на ./detail.Кроме того, как я узнаю, на какую телефонную книгу нажал пользователь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...