首页 > 代码库 > 第三百零四节,Django框架,urls.py模块——
第三百零四节,Django框架,urls.py模块——
Django框架,模块
一、urls.py模块
这个模块是配置路由映射的模块,当用户访问一个url地址时,通过这个路由映射模块,映射给对应的逻辑处理函数
urlpatterns等于的一个列表,列表里的一个元素就是一条路由映射
urlpatterns路由映射配置方式
参数说明:
一个正则表达式字符串
一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
可选的要传递给视图函数的默认参数(字典形式)
一个可选的name参数
urlpatterns = [ url(正则表达式, 映射函数,参数[可选],别名[可选]), ]
urlpatterns = [ url(r‘^admin/‘, admin.site.urls,{‘a‘:‘123‘},‘ADMIN‘), ]
如:
"""Xiangmu URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.10/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r‘^$‘, views.home, name=‘home‘) Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r‘^$‘, Home.as_view(), name=‘home‘) Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r‘^blog/‘, include(‘blog.urls‘)) """ from django.conf.urls import url from django.contrib import admin from app1 import views urlpatterns = [ url(r‘^admin/‘, admin.site.urls), #系统生成的映射 #注意里面的任意一条映射匹配成功,后面的则不在匹配 url(r‘^articles/2003/$‘, views.special_case_2003), #表示articles/2003/这个路径映射views模块的special_case_2003函数 # url(r‘^articles/([0-9]{4})/$‘, views.year_archive), #表示2003可以是0-9的任意4个数字 # url(r‘^articles/([0-9]{4})/([0-9]{2})/$‘, views.month_archive), #表示匹配二级目录 # url(r‘^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$‘, views.article_detail), #表示匹配三级目录 ]
二、views.py模块,路由映射的函数模块,逻辑处理路由映射的需求
注意:自定义映射函数时,有两个重点
HttpResponse(字符串)方法向用户返回字符串
1,定义的函数必须,定义一个形式参数,这个形式参数接收的url请求信息对象,可以通过这个形式参数的各种方法获取到各种请求信息
2,向用户返回信息,必须在函数结尾return,如果是要给用户返回一串字符串,那就必须返回HttpResponse方法,参数是要返回的字符串,需要先导入这个方法
from django.shortcuts import render,HttpResponse # Create your views here. def special_case_2003(request): print(request.method) #获取用户请求的路径 return HttpResponse(‘你好‘)
最后测试一下
浏览器输入:http://127.0.0.1:8000/articles/2003/
第三百零四节,Django框架,urls.py模块——
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。