Найти - Пользователи
Полная версия: Reverse of Django CBV
Начало » Django » Reverse of Django CBV
1
Singularity
Всем привет.

В Django есть возможность делать reverse для вьюх у которых нет параметра name.
то есть
url(r'^articles/(\d{4})/$', 'news.views.year_archive'),
reverse('news.views.year_archive')

как сделать такое же для CBV ? Это не решения как на меня
FishHook
Singularity
В Django есть возможность делать reverse для вьюх у которых нет параметра name
И это отвратительно, не следует практиковать подобный подход, ИМХО.
Singularity
FishHook
а такое нормально ?
FishHook
Приблизительно мысль понятна.
Я бы сделал по другому (если я правильно понял идею), я бы не стал городить неведомое количество url-паттернов, а сделал бы один(или четыре) и соответствующее количество view-диспетчеров, которые возвращают as_view() классов, выбираемых в зависимости от kwarg-ов, из диспетчера.
Singularity
FishHook
view-диспетчер
что это ? Я ничего не понял
FishHook
Я так понял, что у тебя куча однотипных view, для которых ты генерируешь урлы исходя из имени модели.
Я предлагаю обойтись одним урлом, в который ты параметром зашиваешь имя модели
url(r'^(P<model_name>\w+)/$',  dispatcher, name=....),
def dispatcher(request, model_name):
	.....
        
        Тут определяешь какой класс вьюхи нужен
        cbv_class = ....
        .....
         return cbv_class.as_view()(request)
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