Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
neex
1

Django, generic views: получение имени пользователя в шаблоне

23.02.2012, 22:48. Показов 2913. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Пишу сайт на django. Для обработки большинства запросов использую наследников от объектов из django.views.generic (т.е. ListView,DetailView и TemplateView), и переопределяю у них get_query_set и get_object. На сайте в шапке указано имя пользователя (вроде "Здравствуйте, {{username}}!"). Сейчас во всех наследниках переопределена процедура get_context_data, причем почти везде она написана так
Python
1
2
3
4
def get_context_data(self, **kwargs):            
        context = super(<имя класса>, self).get_context_data(**kwargs)
        context['username'] = self.request.user.username
        return context
(в нескольких местах добавляются еще переменные для шаблона).
Хотелось бы сделать так, чтобы не нужно было много раз переписывать этот код. Единственное решение, которое приходит мне в голову - сделать трех наследников от ListView, DetailView и TemplateView, переопределить у них этот метод, а остальные View наследовать уже от одного из них.

Нельзя ли сделать как-нибудь, чтобы не писать три раза одно и тоже?

Заранее спасибо.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2012, 22:48
Ответы с готовыми решениями:

Generic display views
Добрый день! В Джанге есть Generic display views, кто-нибудь знает как этим пользоваться?...

Получение имени пользователя пк по ip
Есть ли возможность узнать текущее имя пользователя пк по IP, например 178.1##.5.## - Дима?...

Получение имени пользователя
Каким скриптом можно получить имя пользователя ?

Получение имени пользователя по SkypeID
Привет всем, работаю через библу SKYPE4COMLib.dll Появился вопрос.. Хочу узнать полное имя...

Получение доменного имени пользователя в контролере
Добрый день. Необходимо получить доменное имя для проверки в проекте MVC. Имя получается...

1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
24.02.2012, 02:36 2
Цитата Сообщение от neex Посмотреть сообщение
Сейчас во всех наследниках переопределена процедура get_context_data, причем почти везде она написана так
когда они отдельные, хоть и одинаковые, их можно менять
а если сделать одну основу для всех, то потом может понадобиться какая-нибудь штука без этого метода, а наследовать её будет неоткуда, так как вся прога будет базироваться на этой основе
получится: либо нужно всё переписывать, либо отказываться от многих новых фич

есть там какие-то приёмы в ооп, вроде, интерфейсы
0
24.02.2012, 02:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2012, 02:36
Помогаю со студенческими работами здесь

Получение имени пользователя при Check_Open_Book
Добрый вечер. Подскажите пожалуйста, есть данный макрос, который срабатывает на открытии книги....

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

Получение имени пользователя + сравнение(верификация)
вобщемся что я делаю 1) получаю имя пользователя TCHAR szUserName; DWORD dwSize =...

Получение имени пользователя (под разными ОС)
подойдет ли такая конструкция, что бы получить имя пользователя под разными ос(unix, win, os x)...

Получение полного имени пользователя Windows
Доброго времени суток! Столкнулся с неожиданной проблемой: как получить полное (отображаемое) имя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru