【问题标题】:Django url dispatcher uses strings to specify function, why?Django url dispatcher 使用字符串来指定函数,为什么?
【发布时间】:2017-06-05 08:34:24
【问题描述】:

Django 文档显示了这样的示例:

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^articles/2003/$', views.special_case_2003),

]

但是,我看到了一些看起来像这样的代码:

from django.conf.urls import url

urlpatterns = [
    url(r'^articles/2003/$', 'myapp.views.special_case_2003'),

]

其中special_case_2003myapp/views.py 中的函数名称。 这两种方法有什么区别?

【问题讨论】:

    标签: django django-views django-urls


    【解决方案1】:
    urlpatterns = [
        url(r'^articles/2003/$', 'myapp.views.special_case_2003'),
    ]
    

    这样的代码已经过时了。以字符串形式提供视图,例如 is deprecated in Django 1.8does not work in Django 1.10+。在 Django 1.10+ 中,您必须使用可调用对象。

    【讨论】:

    • include中使用字符串还是可以的
    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2017-02-19
    • 1970-01-01
    • 2020-07-06
    • 2012-10-20
    相关资源
    最近更新 更多