Asp.Net MVC стиль маршрутизации в Джанго - PullRequest
3 голосов
/ 29 марта 2010

Я программирую в Asp.Net MVC уже довольно давно и немного расширился за пределы мира .Net. Я недавно начал изучать Python и Django. Я наслаждаюсь Django, но в Asp.Net MVC мне не хватает одной вещи - автоматическая маршрутизация от моих URL-адресов к действиям моего контроллера.

В Asp.Net MVC я могу собрать большую часть своего приложения, используя этот единственный маршрут по умолчанию:

routes.MapRoute(
      "Default",                                              // Route name
      "{controller}/{action}/{id}",                           // URL with parameters
       new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
 );

В Django я обнаружил, что добавляю запись в urls.py для каждого представления, которое я хочу показать, что приводит к гораздо большему количеству шаблонов URL, чем я привык в Asp.Net MVC.

Есть ли способ создать один шаблон URL в Django, который будет обрабатывать «[Приложение] / view / [params]» способом, аналогичным Asp.Net MVC? Возможно, на уровне основного веб-сайта?

1 Ответ

3 голосов
/ 06 апреля 2010

Вид может быть не только функцией, но и классом.

Вы можете легко указать какой-нибудь класс DispatchedView с помощью метода __call__ и отправить его методу в соответствии с оставшимся URI. Также Вы можете вдохновить себя диспетчером CherryPy.

Однако лучше использовать именованные шаблоны и полностью отделить URI и представления.

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