LINUX.ORG.RU

История изменений

Исправление x3al, (текущая версия) :

Модуль — объект, у него есть init. В init можно писать любой трэш, в том числе определять любые функции. Любой class-based view — тоже объект (не class-based — объект, но не настолько интересный), если есть причины не делать это на уровне модуля. urlpatterns — обычный list, следовательно, объект, хорошо притворяющийся list'ом, тоже сойдёт. Понятно, что всё это может сколько угодно смотреть в базу, другую базу, memcached, внешние файлы, датчик погоды на Марсе и астрологический прогноз на день, на основании всего этого определяя urlpattern и формируя вид к нему (в простейшем случае можно динамически влепить туда лямбду). Ну и urlpatterns можно банально дописать в любое время, если лень делать объект, притворяющийся им.

Исходная версия x3al, :

Можно и притвориться, что твой модуль умеет в магию. В конце концов, внутри джанги её полно.

Модуль — объект, у него есть init. В init можно писать любой трэш, в том числе определять любые функции. Любой class-based view — тоже объект (не class-based — объект, но не настолько интересный), если есть причины не делать это на уровне модуля. urlpatterns — обычный list, следовательно, объект, хорошо притворяющийся list'ом, тоже сойдёт. Понятно, что всё это может сколько угодно смотреть в базу, другую базу, memcached, внешние файлы, датчик погоды на Марсе и астрологический прогноз на день, на основании всего этого определяя формируя и вид к нему (в простейшем случае можно динамически влепить туда лямбду). Ну и urlpatterns можно банально дописать в любое время, если лень делать объект, притворяющийся им.