urlpatterns = [ url(^'$r', views.index,name=index'), ]
输入网址 http://127.0.0.1:8000 后,Django 首先会把协议 http、域名 127.0.0.1 和端口号 8000 去掉,此时只剩下一个空字符串,而 r'^$' 的模式正是匹配一个空字符串(这个正则表达式的意思是以空字符串开头且以空字符串结尾),于是二者匹配,Django 便会调用其对应的 views.index 函数。
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'', include('blog.urls')), ]
这里 - 表示删掉这一行,+ 表示添加这一行。
我们这里导入了一个 include 函数,然后利用这个函数把 blog 应用下的 urls.py 文件包含了进来。此外 include 前还有一个 r'',这是一个空字符串。这里也可以写其它字符串,Django 会把这个字符串和后面 include 的 urls.py 文件中的 URL 拼接。比如说如果我们这里把 r'' 改成 r'blog/',而我们在 blog.urls 中写的 URL 是 r'^$',即一个空字符串。那么 Django 最终匹配的就是 blog/ 加上一个空字符串,即 blog/。