视图层之路由配置系统(views)
urlpatterns = [
url(正则表达式, views视图函数,参数,别名),
]
参数说明:
一个正则表达式字符串
一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
可选的要传递给视图函数的默认参数(字典形式)
一个可选的name参数
注意:
1 一旦匹配成功则不再继续
2 若要从URL 中捕获一个值,只需要在它周围放 置一对圆括号。
3 不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。
4 每个正则表达式前面的'r' 是可选的但是建议加上。
#路径与函数的映射
例: http://127.0.0.1:8000/luo
输入的路径-> luo/ 跟下面正则匹配,若成功则调用后面的函数
url(r'^luo/', views.abs)
#——————————————————urls
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^a/2017/1',views.abs1), #匹配以 a/2017/1 开头的路径 abs1(request)
url(r'^a/(\d{4})/\d{2}',views.abs2), #把( ) 内的匹配的值(年份) 当做参数给abs2(request,year)
url(r'^a/(\d{4})/(\d{2})', views.abs3), #把( ) 内的匹配的值(年份,月份) abs3(request,year,month)
# url(r'^a/(?P<y>\d{4})/(?P<mo>\d{2})',views.abs4) #给( ) 内匹配的值加个名字
]
#——————————————————views
def abs1(request):
# a/2017/1
return HttpResponse('ok')
def abs2(request,year):
# year
# a/2017/1
return HttpResponse(year)
def abs3(request,year,month):
#year 正则匹配的年份
#month ...月份
# a/2017/1 输入的路径
return HttpResponse(year,month)
-------------------------------views
def fun(request):
name='luo'
age='18'
#第一种
temp=loader.get_template('login.html')
return HttpResponse(temp.render({{name,age}}))
#第二种
return render(request,'login.html',{"name":name,"age":age})
推荐第二种
项目树状图: