url的使用
1.urls.py
默认是在主目录中,主路由配置文件,会包含最基本的地址映射,并且每个地址访问都必须要先经过该文件。
作用:通过 urls中定义好的地址找到对应的视图处理函数
urlpatterns = [
url()
]
2.url() 的语法
作用:为了匹配用户的访问路径
语法:
先要导入url:from django.conf.urls import url
url(regex,views,kwargs=None,name=None)
1.regex:允许是正则表达式,匹配请求的url
2.views:地址匹配后要执行操作的视图处理函数
3.kwargs:字典,用来向views传参的,可以省略
4.name:为url起别名,在地址反向解析时使用
urls.py
from django.conf.urls import url from mysite.views import hello urlpatterns = [ url('^hello/$', hello), ]
views.py
from django.http import HttpResponse def hello(request): return HttpResponse("Hello world")
3.通过 url向视图传参
1.使用正则表达式传参
使用子组传参,一个子组是一个参数,要传递多个参数的话需要使用多个子组,中间用 / 隔开。子组 - ()
urls.py
urlpatterns = [
#访问路径是 /number/四位数字,交给number_views去处理
url(r'^number/(\d{4})/$',number_views)
]
views.py
def number_views(request,num1):
#request是一定要写的,num1表示的就是/number/路径后的第一个子组参数
pass
2.使用url()第三个参数 - 字典传参
dic = {
'name':'路飞',
'age':16
}
urls.py
url(r'^show/$',show_views,dic)
views.py
def show_views(request,name,age):
# name:字典中name的值,字符串
# age:字典中age的值,整数
pass