2024-05-19 07:58:05 发布
网友
在django中,下面两种url模式有什么区别?
url(r'^$', views.indexView, name='index'), url(r'', include('registration.urls'))
据我所知,“^$”和“”都指空字符串。“^$”和“”实际上指定了什么?
^$-它指定URL字符串的起点和终点。
''-URL方法中的空字符串表示,如果遇到URL模式中未定义的任何其他URL模式,则应调用相应的空字符串视图
在正则表达式中,^和$是特殊字符。
^
$
^(插入符号):
^匹配字符串的开头。
假设我的regex是^a,那么regex将在字符串的开头查找a:
^a
a
'a' # Matches 'a' in 'a' 'abc' # Matches 'a' in 'abc' 'def' # Not match because 'a' was not at the beginning
$(美元符号):
$匹配字符串的结尾。
如果我的regex是b$,那么它将匹配字符串末尾的b:
b$
b
'b' # Matches 'b' in 'b' 'ab' # Matches 'b' in 'ab' 'abc' # Does not match
使用r'^$':
r'^$'
同时使用^和$作为^$将匹配空行/字符串。
^$
url(r'^$', views.indexView, name='index')
当Django遇到空字符串时,它将转到index页面。
index
使用r'':
r''
当您使用r''时,Django将在URL中的任何位置查找空字符串,这对每个URL都是正确的。
如果你的urlpattern是这样的:
url(r'', views.indexView, name='index')
所有URL都将转到index页。
^$表示开始和结束之间没有任何内容。。。此项仅与空字符串匹配
''表示空字符串(但不指定整个字符串的开头或结尾),因此当您在字符串中遇到与'asdasd'匹配的任何内容时,它会说很好,例如在开头有匹配的空字符串。。。剩余的将传递给新的url规则脚本(在本例中,所有内容都将保留)
''
'asdasd'
如果您的第二个规则是'a',那么它将匹配asdasd中的第一个a,并将sdasd传递给新的url匹配规则集
'a'
asdasd
sdasd
否认这可能是一个严重的过分简单化,但基本上是正确的
^$-它指定URL字符串的起点和终点。
''-URL方法中的空字符串表示,如果遇到URL模式中未定义的任何其他URL模式,则应调用相应的空字符串视图
在正则表达式中,
^
和$
是特殊字符。^
(插入符号):^
匹配字符串的开头。假设我的regex是
^a
,那么regex将在字符串的开头查找a
:$
(美元符号):$
匹配字符串的结尾。如果我的regex是
b$
,那么它将匹配字符串末尾的b
:使用
r'^$'
:同时使用
^
和$
作为^$
将匹配空行/字符串。当Django遇到空字符串时,它将转到
index
页面。使用
r''
:当您使用
r''
时,Django将在URL中的任何位置查找空字符串,这对每个URL都是正确的。如果你的urlpattern是这样的:
所有URL都将转到
index
页。^$
表示开始和结束之间没有任何内容。。。此项仅与空字符串匹配''
表示空字符串(但不指定整个字符串的开头或结尾),因此当您在字符串中遇到与'asdasd'
匹配的任何内容时,它会说很好,例如在开头有匹配的空字符串。。。剩余的将传递给新的url规则脚本(在本例中,所有内容都将保留)如果您的第二个规则是
'a'
,那么它将匹配asdasd
中的第一个a,并将sdasd
传递给新的url匹配规则集否认这可能是一个严重的过分简单化,但基本上是正确的
相关问题 更多 >
编程相关推荐