干网与骨干路由器和django网址?

时间:2014-04-23 06:49:10

标签: django backbone.js

在django中,{% url 'url_name' %}{{ obj_instance.get_absolute_url }}用于网址,实际网址在urls.py中定义

我最近开始使用骨干路由器,它的形式为

routes: {
 '..some/url/path/:param_name/': 'func_name'
}

是否可以在骨干路由器中使用django的url相关功能,以便我们能够保持网址的干燥性?

修改

我在主干路线中使用the/whole/relative/path/from/root 这是骨干的不良做法吗? (这是我第一次使用路由器。)

需要绝对路径,因为我想在多个应用程序中路由,如下所述。

我有3个应用程序显示以下内容。

  1. 所有音乐列表(/论坛)
  2. 相册中所有音乐列表(/ album /:album_id)
  3. 音乐细节(/ album /:album_id / music /:music_id)
  4. 如果用户登陆#1,通过点击音乐,他可以进入#3。 从#3开始,他可以进入#2或#1。

1 个答案:

答案 0 :(得分:0)

根据我的理解,在Django中你定义了域名之后的内部网址。在骨干路由器中,您可以定义位于“#”标记之后的URL。因此,例如,如果您输入两个不带任何参数的不同域,并且您调用相同的骨干路由器,则它们都将被捕获为空URL。

var Router = Backbone.Router.extend({
    routes: {
        "": "defaultFunc"  //nothing after # (it doesn't care about the url before that)
        "posts/:id": "getPost" // #posts/12
    }
});

总之,我认为每个人都必须完成他们的工作。 Django用于服务器端URL及其参数,以及客户端的主干。