当前位置: 首页 > news >正文

廊坊网站建设-商昊网络超级seo外链

廊坊网站建设-商昊网络,超级seo外链,微信公众号微网站开发,柯桥做网站哪家好目录 Django路由系统精讲1. Django 路由系统应用1)配置第一个URL实现页面访问2)正则与正则分组使用3)正则捕获组使用 2. path()与re_path() Django路由系统精讲 在《URL是什么》一节中,我们对 URL 有了基本的认识,在本…

目录

  • Django路由系统精讲
    • 1. Django 路由系统应用
        • 1)配置第一个URL实现页面访问
        • 2)正则与正则分组使用
        • 3)正则捕获组使用
    • 2. path()与re_path()

Django路由系统精讲

在《URL是什么》一节中,我们对 URL 有了基本的认识,在本节将对 Django 的路由系统展开详细的讲解,让我们更加清楚的了解 URL 在 Django 中到底是如何应用的。

1. Django 路由系统应用

一个用户向 Web 站点发送请求,是通过 URL 实现的,当 Web 服务器端接收到用户请求后,它又是怎么处理的呢?通过 MTV 的设计模式,我们可以得知,首先用户请求会到达相应的视图函数,那么视图函数又是怎样找到相应的访问资源的呢,在这里就用到了“路由系统”。

Django 中利用 ROOT_URLCONF 构建了 URL 与视图函数的映射关系。在django.conf.urls 中封装了路由模块,新建的Django 项目中提供了 urls.py(创建项目后自动生成的配置文件) 路由配置文件,urls.py 文件中定义了一个 urlpatterns 的列表,它是由 url( ) 实例对象组成的列表,Django 中 url 的定义就是在这个列表完成的。

from django.conf.urls import url
urlpatterns=[
url(r '^admin/',admin.site.urls),
...
]

后台 Admin 管理系统的路由就定义在了列表第一个位置,下面我们对路由的语法格进行简单说明:

url(regex,view,name=None)

上述 url 的参数解析如下:

  • regex,匹配请求路径,用正则表达式表示;
  • view,指定 regex 匹配路径所对应的视图函数的名称;
  • name,是给 url 地址起个别名,在模板反向解析的时候使用,这个知识点后面还有介绍。

1)配置第一个URL实现页面访问

在 urls.py 的同级目录下,新建 views.py 文件,把它作为编写视图函数的 View 层,然后在 views.py 中编写如下代码:

from django.http import HttpResponse
def page_view(request):html='<h1>欢迎来到,C语言中文网,网址是http://c.biancheng.net</h>'return HttpResponse(html)

假如现在有一个名叫 “myject”的 Django 项目,首先需要在 urls.py 文件中导入 views.py, 这么做的目的是把 URL 与视图层进行绑定,然后在 urls.py 的 urlpatterns 中编写如下代码:

from django.conf.urls import url
from django.contrib import admin
from myject import views
urlpatterns = [url(r'admin/', admin.site.urls),url(r'^page$/',views.page_view),]

上述代码解析:

  • 代码的前 3 行分别对 URL 模块、admin 模块、以及视图层 views 做了导包操作;
  • 路径地址被定义为 page,也就是在本机浏览器地址栏输入:http://127.0.0.1:8000/page 进行访问,views.page_view将 page/ 路径与对应的视图函数进行了关联。

那么通过上述的代码就完成了路由的配置。在项目运行后,通过访问对应的地址就可以得到相应的页面了,如下图所示:

在这里插入图片描述

图1:C语言中文网欢迎你

2)正则与正则分组使用

在 Django 的路由系统中,正则匹配得到了充分的使用,比如要匹配任意 1000个页面,那么正则匹配路由地址可以写为:

url(r'^page(\d+)',views.page_view)

同时也可以使用正则分组的方式匹配地址:

r'^(\d+)/(\w{3})/(\d+)' 匹配类似于 http://127.0.0.1:8000/521/Django/1314的地址

3)正则捕获组使用

捕获组:

url(r'^person/(?P<name>\w+)/(?P<age>\d{1,2})',views.person_view)

在视图函数层,用函数关键字传参的方法,将 name 与 age 传递给视图函数。

def person_view(request,name,age):s = '姓名: ' + names += ' 年龄: ' + agereturn HttpResponse(s)

一个分组表示一个参数,多个参数需要使用多个分组,并且使用 / 隔开。

2. path()与re_path()

Django 的路由系统使用方法简洁且容易理解,这大大降低了如何配置 URL 的难度。

在 Django 2.0 版本中推出了新的用法 path() 和 re_path(),进一步提升了 Django 的效率与使用的简洁性。2.0 版本以后虽然推出了新的方法,但是 1.0 版本的 URL 用法仍然可以在 2.0 版本中使用,向前做了兼容。

提示:我们可以简单的理解为:re_path() 等同于 1.0 版本的 url 正则匹配方法,而 path() 有其特定的使用方法,在后续的章节将会对其进行详细的介绍。

http://www.ds6.com.cn/news/29239.html

相关文章:

  • 淮安做网站公司怎么引流推广自己的产品
  • h5效果的网站有哪些云南百度公司
  • 如何做网站seo优化河南最新消息
  • 做棋牌网站建设百度怎么收录网站
  • 优化网站怎么做免费域名申请网站
  • 太原建设银行网站制作一个网站步骤
  • 面备案网站建设设计师培训班多少钱
  • 海淀团队组建网站永久免费无代码开发平台网站
  • 建设门户网站培训通知金华seo扣费
  • 编程软件powermill搜索引擎优化报告
  • 江苏建设官方网站网站关键词推广
  • 深圳建站工作室培训心得体会范文500字
  • 网站建设中服务器的搭建方式今天今日头条新闻
  • 做网站需要哪些栏目市场营销经典案例
  • 免费建立自己的网站爱站网长尾词挖掘工具
  • 徐州有哪些网站制作公司网络推广优化招聘
  • 顺义区做网站网易游戏推广代理加盟
  • 怎么给自己的公司做网站电商运营一天都干啥
  • 驾校网站建设费用龙泉驿网站seo
  • 官方网站英语seo是什么学校
  • 制作企业网站的报告潍坊关键词优化平台
  • 万能站工具的企业网站系统网络广告策划案
  • 湖南疫情最新新增网站关键词优化排名推荐
  • 深圳市网站制作公司seo优化论坛
  • 聊城高端网站建设报价google首页
  • 广州微网站建设咨询百家港 seo服务
  • 免费网站制作站长之家seo综合查询
  • 家谱用网站做seminar什么意思中文
  • 太原小程序商城制作seo优化大公司排名
  • 帮我写一篇网站百度的推广方式有哪些