Python 省略'的意义是什么;Django url模式中的url(';)

Python 省略'的意义是什么;Django url模式中的url(';),python,django,Python,Django,我得到了一些Django代码来接管settings.py中的urlpatterns中的一些条目使用url(),而有些条目不使用url(),如下所示: urlpatterns = patterns('', (r'^grappelli/', include('grappelli.urls')), url(r'^admin/', include(admin.site.urls)), (r'^movies/', include('movies.urls')), (r'^

我得到了一些Django代码来接管settings.py中的urlpatterns中的一些条目使用url(),而有些条目不使用url(),如下所示:

urlpatterns = patterns('',
    (r'^grappelli/', include('grappelli.urls')), 
    url(r'^admin/', include(admin.site.urls)),
    (r'^movies/', include('movies.urls')),
    (r'^profile/', include('userprofile.urls')),
    (r'^api/', include(v1_api.urls)),
    url(r'^$', TemplateView.as_view(template_name='base.html'), name='home'),
    url(r'^trailer/', TemplateView.as_view(template_name='trailer.html'), name='trailer'),
    url(r'^newuser/', TemplateView.as_view(template_name='trailer.html'), name='activate'), 
    url(r'^abcd123/', TemplateView.as_view(template_name='trailer.html'), name='url_login'), 
    url(r'^fb/', TemplateView.as_view(template_name='fb.html'), name='fb'), 
)
是否使用
url(
)有什么区别吗?是否有推荐的标准?

元组是指定url模式的旧方法(已弃用)

在您的情况下,对于您正在使用的Django版本,使用元组或
url()
s没有任何区别

还要注意的是,自Django 1.8以来,不再需要调用
patterns()
,而.Django 1.8使用
url()
s列表

是否使用
url(
)有什么区别吗

否。传递
列表
元组
的处理方式与
url()
中包装的参数相同:

django/url/\uuuuu init\uuuuuu.py

有推荐的标准吗

使用
url()

在django 1.10中,
config.urls.patterns()
本身被计划弃用,此时,
urlpatterns
必须是
url()
实例的列表,并且不能再使用原始元组


另外:.

这里有一个完整的示例,说明您如何在Django 1.8(及以后版本)中使用元组列表来完成此操作,如前所述。1.8是一个长期版本,因此升级到1.8将保证至少三年的安全版本

urlpatterns = [
    url(r'^grappelli/', include('grappelli.urls')), 
    url(r'^admin/', include(admin.site.urls)),
    url(r'^movies/', include('movies.urls')),
    url(r'^profile/', include('userprofile.urls')),
    url(r'^api/', include(v1_api.urls)),
    url(r'^$', TemplateView.as_view(template_name='base.html'), name='home'),
    url(r'^trailer/', TemplateView.as_view(template_name='trailer.html'), name='trailer'),
    url(r'^newuser/', TemplateView.as_view(template_name='trailer.html'), name='activate'), 
    url(r'^abcd123/', TemplateView.as_view(template_name='trailer.html'), name='url_login'), 
    url(r'^fb/', TemplateView.as_view(template_name='fb.html'), name='fb'), 
]

您当时也可以从您的导入列表中删除模式。

Django 1.8仍然支持模式()和原始元组,到目前为止它们“仅”被弃用。@dhke:这就是我写的:)
urlpatterns = [
    url(r'^grappelli/', include('grappelli.urls')), 
    url(r'^admin/', include(admin.site.urls)),
    url(r'^movies/', include('movies.urls')),
    url(r'^profile/', include('userprofile.urls')),
    url(r'^api/', include(v1_api.urls)),
    url(r'^$', TemplateView.as_view(template_name='base.html'), name='home'),
    url(r'^trailer/', TemplateView.as_view(template_name='trailer.html'), name='trailer'),
    url(r'^newuser/', TemplateView.as_view(template_name='trailer.html'), name='activate'), 
    url(r'^abcd123/', TemplateView.as_view(template_name='trailer.html'), name='url_login'), 
    url(r'^fb/', TemplateView.as_view(template_name='fb.html'), name='fb'), 
]