【问题标题】:django - "urls" function sometime included in urls.pydjango - 有时包含在 urls.py 中的“urls”函数
【发布时间】:2014-04-24 05:21:30
【问题描述】:

为什么在某些urls.py 文件中您看到url(..) 而在其他文件中您看到(..)。

例如

urlpatterns = patterns('',
    url('hello','article.view.hello')
)

在其他人我看到:

urlpatterns = patterns('',
    ('article/', include('article.urls'))
)

【问题讨论】:

  • 能否把你的问题说得清楚一点,好吗?
  • 是的,我也想知道。

标签: django


【解决方案1】:

patterns() 的使用使得url() 的使用成为可选的。但是,展望未来,patterns 将被弃用,您必须始终使用url。见this ticket:

patterns 除了前缀参数之外提供的另一件事是在urlpatterns 中自动将普通元组包装在url() 中。我认为删除它并强制使用url() 将是一个很好的清理。

所以你应该养成总是使用url的习惯。

【讨论】:

    【解决方案2】:

    感谢您对编辑的澄清:

    • 第一个指向视图
    • 第二个允许您从单独的模块(或同一个模块)添加另一个模式列表

    但url 的使用纯粹是为了方便(但在 django 2.0 中是必需的)。您可以在此处查看支票:

    https://github.com/django/django/blob/master/django/conf/urls/init.py#L55

    【讨论】:

    • 我怀疑这是为了方便,因为当我从我的网址中删除它时,会出现语法错误。
    • 其实你是对的。那只是为了方便。我只在一个项目中遇到语法错误,而不是全部。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 2011-09-27
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    相关资源
    最近更新 更多