django搭建web (二) urls.py

URL模式:
在app下的urls.py中

urlpatterns=[
url(正则表达式,view函数,参数,别名,前缀)
]

urlpatterns=[
    url(r'^hello/$',hello.views.hello,{'a':'123'})
]

第三个参数{'a':'123'}必须在hello.views.hello中被接收,切名称要一样,不然会报错
例如:

def hello(request,a):
        print(a)
        ... ...

第五个参数前缀作用:

urlpatterns=[
    url(r'^hello/$',hello.views.hello,{'a':'123'},'hello')
]

urlpatterns=[
    url(r'^hello/$',views.hello,{'a':'123'},'hello','hello')
]

#效果一样

在工程下的urls.py中

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]

会有include , 其包含的是指定app下的urls

注意

可以发现:
在工程下的url.py中格式为:url(r'^polls/',include('polls.urls') )
在app下的url.py中格式为:url(r'^polls/$',views.hello,name = "hello")
在app下的url.py默认跳转url(r'^$',views.hello,name = "hello")
注意$的差异

原文地址:https://www.cnblogs.com/maskerk/p/7699278.html