Django.VERSION=1.11

URLCONF就是Django网站的目录集合,我们使用正则表达式来表达。

一般我们把url和视图view联合起来讲。

我们的第一个urls.py文件:首次创建的django-admin.py startproject ProjectName

在ProjectName文件夹里,这是网站项目的总url配置文件。之后我们添加应用程序后往往会在相应的应用程序文件夹里新建urls.py

 1 from django.conf.urls import url, include
 2 from django.contrib import admin
 3 from focus import urls as focus_urls
 4 from focus import views
 5 
 6 urlpatterns = [
 7     url(r'^admin/', admin.site.urls),
 8     url(r'^$',views.index,name='index'),
 9     url(r'^focus/',include(focus_urls)),
10 ]

例如上图中,

url(r'^focus/',include(focus_urls)),————focus是我新建的一个应用程序。
我在此应用程序中也新建了一个urls.py.在此总urls.py中引用它,保证应用程序的urls.py也能生效
(在我们引用应用程序的urls.py时,需要import应用程序中的相应的版块)

而在我们写url规则时,url(r'^xxxx/$',views.xxx,name='xxx')这其中根据逗号我们分为三个版块:

第一部分:r'^xxx/$'——^表示匹配开始, /$ 表示匹配结束。 中间的部分就是url根据正则表达式书写的。
如果结尾处没有$,那么表示匹配的url一直匹配以此url开头的所有url.
例如上图中的第一个url,表示匹配http:www.test.com/admin 和
http:www.test.com/admin/的所有子链接。

第二部分:是引入该链接的视图部分,例如我们views.index;

第三部分:有意思了,相当于给这个链接起了个名字,我们在model和templates中引用都是name,当此链接被修改时,我们各处引用不用更改,因为name属性并没有变。