在django url模式中传递字符串而不是函数

时间:2014-11-02 10:26:45

标签: python django django-urls

Django docs中,它说的是url模式:

  

可以将包含路径的字符串传递给视图   比实际的Python函数对象。支持此替代方案   目前,虽然不推荐,但将被删除   未来版本的Django。

有没有人知道为什么会这样?我发现这个替代方案非常方便,并且找不到任何解释为什么这是一个坏的(或者,至少不是理想的)想法。

1 个答案:

答案 0 :(得分:3)

我认为回购邮件中的1.8 Release Notes很好地解释了它。以下是要点摘要:

  

在现代,我们更新了教程,改为推荐导入   您的视图模块并直接引用您的视图函数(或类)。   这有许多优点,都源于我们正在使用的事实   普通的Python代替“Django String Magic”:错误输入时的错误   视图名称不那么模糊,IDE可以帮助自动完成视图名称,   等

     

因此patterns()没有什么用处,在教授新用户时是一种负担   (回答新手的问题“为什么我需要这个空字符串作为第一个   对patterns()的争论?“)。出于这些原因,我们正在弃用它。   更新代码就像确保urlpatterns是一个列表一样简单   :func:django.conf.urls.url个实例。