代码之家  ›  专栏  ›  技术社区  ›  Andrew Hanson

django中的ASP.NET MVC样式路由

  •  3
  • Andrew Hanson  · 技术社区  · 14 年前

    我在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条目,这导致了比我在ASP.NET MVC中习惯的更多的url模式。

    有没有一种方法可以在Django中创建一个单独的URL模式,该模式将以类似于ASP.NET MVC的方式处理“[application]/view/[params]”?也许在主网站级别?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Almad    14 年前

    视图不仅可以是函数,还可以是类。

    您可以使用 __call__ 方法并根据剩余的URI发送到方法。而且,你可以用奇瑞派调度员来激励自己。

    但是,使用命名模式并将URI和视图完全分离是比较合适的。