В чем разница между двумя шаблонами url в django?
url(r'^$', views.indexView, name='index'),
url(r'', include('registration.urls'))
Насколько я понимаю, "^ $" и "" относятся к пустой строке. Что означает '^ $' и '' на самом деле?
В чем разница между двумя шаблонами url в django?
url(r'^$', views.indexView, name='index'),
url(r'', include('registration.urls'))
Насколько я понимаю, "^ $" и "" относятся к пустой строке. Что означает '^ $' и '' на самом деле?
В регулярных выражениях ^ и $ являются специальными символами.
^ (Caret):
^ соответствует началу строки.
Допустим, что мое регулярное выражение было ^a, тогда регулярное выражение будет искать a в начале строки:
'a' # Matches 'a' in 'a'
'abc' # Matches 'a' in 'abc'
'def' # Not match because 'a' was not at the beginning
$ (знак доллара):
$ соответствует концу строки.
Если мое регулярное выражение было b$, то оно будет соответствовать b в конце строки:
'b' # Matches 'b' in 'b'
'ab' # Matches 'b' in 'ab'
'abc' # Does not match
Использование r'^$':
Использование ^ и $ вместе как ^$ будет соответствовать пустой строке/строке.
url(r'^$', views.indexView, name='index')
Когда Django встречает пустую строку, она перейдет на страницу index.
Использование r'':
Когда вы используете r'', Django будет искать пустую строку в любом месте URL-адреса, что верно для каждого URL-адреса.
Итак, если ваш urlpattern был таким:
url(r'', views.indexView, name='index')
Все ваши URL-адреса отправятся на страницу index.
^$ означает, что между началом и концом ничего нет... этот только соответствует пустой строке
'' означает пустую строку (но не указывает ничего о начале или конце всей строки), поэтому, когда вы сталкиваетесь с чем-либо в строке, которую он говорит хорошо, что соответствует 'asdasd', например, имеет соответствующую пустую строку в начало... остальные передаются новым правилам URL script (в этом случае все остается)
если вместо этого ваше второе правило было 'a', то оно соответствовало бы первому a в asdasd и передало sdasd новому набору правил соответствия URL
отказ от ответственности, что это, вероятно, грубое упрощение, но в основном истинное
^ $- указывает начальную и конечную точки строки URL.
'' - Пустая строка в методе URL говорит, что если какой-либо другой шаблон URL встречается, который не определен в шаблоне url, тогда соответствующее пустое представление строки должно быть вызвано
^ $ означает, что вы соответствуете строке между этими двумя специальными символами