Уведомления

Группа в Telegram: @pythonsu

#1 Май 27, 2015 20:40:30

skripka696
Зарегистрирован: 2015-04-10
Сообщения: 42
Репутация: +  1  -
Профиль   Отправить e-mail  

навигация между шаблонами!

Здравствуйте, подскажите пожалуйста!
у меня есть вот такой класс

class HomeView(TemplateView):
template_name ='testapp/home1.html'
#template_name ='testapp/home2.html'
#template_name ='testapp/home3.html'
def get_context_data(self, **kwargs):
context = super(HomeView, self).get_context_data(**kwargs)

context['author_name'] = get_author()


context['books'] = get_books()
context['list'] = get_list()

return context


файл action.py
from testapp.models import  Author, Book

def get_author():
return [author.first_name for author in Author.objects.all()]

def get_books():
return [book.name for book in Book.objects.all()]

def get_list():
authors = [
(author.first_name, [book.name for book in author.book_set.all()])
for author in Author.objects.all()
]
return authors

и для каждого context у меня свой страница, расширяемая от base.html
подскажите как мне сделать навигаию между этими тремя страницами, класс то один, url тоже один!
я надеюсь что понятно объяснила проблему(

Офлайн

#2 Май 28, 2015 00:13:34

2mitrij
От: Киров
Зарегистрирован: 2015-05-27
Сообщения: 11
Репутация: +  3  -
Профиль   Отправить e-mail  

навигация между шаблонами!

Наверное лучше на каждую страницу сделать отдельную вьюху… со своим урлом. Не понятно, зачем один урл? По какому принципу будет выбираться шаблон? Навигация сама по себе предполагает на каждую страницу свой урл, иначе что прописывать в href ссылки будете?. Как вариант - передавать в параметре урла id страницы, но по сути получаем так и так разные урлы.

Офлайн

#3 Май 28, 2015 05:42:56

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

навигация между шаблонами!

skripka696
Не смотря на то, что урл как бы один, в гет-хвосте можно передать всё что угодно

<a href="?action=get_autors">Авторы</a>
<a href="?action=get_books">Книги</a>
хотя и непонятно, зачем это надо. Почему не сделать четыре класса: домашнюю страницу, авторы, книги и что там еще, каждая со своим контекстом и шаблоном?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version