首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django中的url路由?

在Django中,URL路由是指将URL请求映射到相应的视图函数或类的过程。URL路由是Web应用程序中的重要组成部分,它决定了当用户访问特定URL时应该执行哪个视图来处理请求。

在Django中,URL路由配置主要通过项目的urls.py文件来完成。urls.py文件定义了URL模式和对应的视图函数或类。当用户访问一个URL时,Django会按照urls.py文件中的配置逐个匹配URL模式,直到找到匹配的模式为止。一旦找到匹配的模式,Django就会调用相应的视图函数或类来处理请求。

URL路由配置可以使用正则表达式、路径参数和其他特定语法来定义。以下是一个示例的urls.py文件配置:

代码语言:txt
复制
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('about/', views.about, name='about'),
    path('article/<int:article_id>/', views.article_detail, name='article_detail'),
]

在上述示例中,我们定义了三个URL模式:

  1. 空字符串:表示应用的首页,对应的视图函数是views.index,使用name='index'给该URL模式起了一个名字。
  2. 'about/':表示关于页面,对应的视图函数是views.about,使用name='about'给该URL模式起了一个名字。
  3. 'article/<int:article_id>/':表示文章详情页面,<int:article_id>是一个路径参数,它会匹配一个整数,并将其作为参数传递给views.article_detail视图函数。同样地,我们给该URL模式起了一个名字name='article_detail'

通过这样的URL路由配置,当用户访问不同的URL时,Django会根据配置的URL模式匹配相应的视图函数或类来处理请求。这样可以实现灵活的URL映射和请求处理。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动推送:https://cloud.tencent.com/product/umeng_push
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云视频处理服务:https://cloud.tencent.com/product/vod
  • 腾讯云音视频通信(TRTC):https://cloud.tencent.com/product/trtc
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

DjangoURL路由系统

URL配置 URL配置就像Django所支撑网站目录.它本质是URL与要为该URL调用视图之间映射表.你就是以这种方式告诉Django,对于哪个URL调用这段代码....    现在普遍使用Django2.0版本路由系统,向下兼容1.x版本语法 from django.urls import path urlpatterns = [ path('articles...换句话讲,所有的请求方法 —— 同一个URLPOST、GET、HEAD等等 —— 都将路由到相同函数。...一下,放到你在app01文件夹下创建那个urls.py文件,把不是这个app01应用url给删掉就行了) from django.conf.urls import url #from django.contrib...' %} #模板选择时候,被django解析成了这个名字对应url,这个过程叫做反向解析   在views函数可以这样引用:(后面再讲这个视图函数应用反向解析内容,上面的是模板应用反向解析过程

1.4K40
  • djangourl路由配置及渲染方式

    创建视图函数并访问 创建app djangourl规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ---- 创建视图并访问   项目中自带Python文件,并没有带有视图,因此我们自己创建一个...’)  在url.py为视图函数配置路由 from django.urls import path from ....,与其他都无关  2、django路由系统      当一个请求来到     1、首先到项目目录下,url.py里查找路由规则     2、跟urlconf模块,里面定义了urlpatterns变量...,将主路由分给teacher.url path(‘teacher/’,include('teacher.urls')),  在teacher-APP,创建urls.py(因为新建APP没有自带url.py...)     在teacher.url.py,手动输入     form  django.urls import path     from .views import *     这里views是此

    3.1K20

    Django路由控制URL详解

    Django项目中编写路由,就是向外暴露我们接收哪些URL请求,除此之外任何URL都不被处理,也没有返回。通俗地理解,不恰当形容,URL路由是你Web服务对外暴露API。...在更高级用法,可以使用命名正则表达式组来捕获URL 值并以关键字 参数传递给视图。 在Python 正则表达式,命名正则表达式组语法是(?...3.4 路由分发 通常,我们会在每个app里,各自创建一个urls.py路由模块,然后从根路由出发,将app所属url请求,全部转发到相应urls.py模块。...每当Django 遇到include()(来自django.conf.urls.include())时,它会去掉URL匹配部分并将剩下字符串发送给includeURLconf做进一步处理,也就是转发到二级路由去...在需要URL 地方,对于不同层级,Django 提供不同工具用于URL 反查: 在模板:使用url 模板标签。

    1.1K20

    Django基础篇-url路由配置

    urls.py 路由用法 url 基本概念 url 格式 urls.py 作用 include kwarg name ① URL 概念: URL 统一资源定位符,可以从互联网上得到资源位置和访问方法一种简洁方式...它本质是 URL 模式以及要为该 URL 模式调用视图函数之间映射表。以这样方式告诉 Django,对于哪个 URL 调用哪段代码。url 加载就是从配置文件开始。...url 解析过程 Django 会从 urlpatterns 里顺次读取元素,每个元素是方法 url 调用后返回结果。...django 传给 url 路由要处理地址,该地址是被去掉主机地址以及之后一个"/"剩余部分: 例如:http://127.0.0.1:8000/yuntuan/ 经处理后剩余部分就是...原因是:因为 django 已经给域名后面加了一个正斜杠,所以不需要再加,否则将匹配不到正确 url

    1.9K30

    python-Django-URL 路由(一)

    Django是一个流行Web框架,提供了一整套功能来帮助开发人员构建高效Web应用程序。其中之一是URL路由系统,它是Django应用程序核心组件之一。...Django URL路由概念Django URL路由系统是将客户端请求URL映射到相应视图函数机制。...DjangoURL路由系统还支持命名URL模式,这允许开发人员在应用程序中使用可重用URL模式。在DjangoURL路由规则通常定义在一个名为urls.py文件。...我们还为这个URL模式指定了一个名称,这个名称可以在代码引用这个URLDjango URL路由详细介绍DjangoURL路由系统提供了一系列工具和方法来定义和管理应用程序URL路由规则。...在DjangoURL路由规则通常定义在一个名为urls.py文件

    30530

    DjangoURL(路由系统)用法

    django路由系统作用就是使views里面处理数据函数与请求url建立映射关系。...使请求到来之后,根据urls.py里关系条目,去查找到与请求对应处理方法,从而返回给客户 端http页面数据 路由系统格式 url(正则表达式,view视图函数/视图类,参数) django 项目中...Django拿着用户请求url地址,在urls.py文件对urlpatterns列表每一项条目从头开始进行逐一对比, 一旦遇到匹配项,立即执行该条目映射视图函数或二级路由,其后条目将不再继续匹配...因此,url路由编写顺序至关重要!...开发一套动态路由系统 在urls.py里定义分类正则表达式 from django.conf.urls import patterns, include, url from django.contrib

    1.8K10

    Django源码学习-6-URL 路由

    URL配置(URLconf)就像 Django 所支撑网站目录。它本质是 URL 与要为该 URL 调用视图函数之间映射表;对于客户端发来某个 URL 调用哪一段逻辑代码对应执行。...from django.urls import path, include, re_path ? ① 路由分发 settings.py 文件 ROOT_URLCONF 变量指定全局路由文件名称 ?...from django.urls import path, include, re_path Django使用urlpatterns变量表示路由url.py),改变量是列表类型,由 path() 或re_path...② 反向解析 在使用Django 项目时,一个常见需求是获得URL 最终形式,以用于嵌入到生成内容(视图中和显示给用户URL等)或者用于处理服务器端导航(重定向等)。...在开发项目时,会经常使用name属性反解出URL,当不小心在不同appurls定义相同name时,可能会导致URL反解错误,为了避免这种事情发生,引入了命名空间。 ?

    66440

    Django框架学习笔记(二)URL路由

    这一节我们继续介绍Django知识,我们知道 URL是web访问第一步,当用户对服务器有一个http请求时候,Django开始响应URL路由,校验这个URL是否存在,如果存在,定位到Views里某一个方法或者函数...这一节,我们就重点介绍DjangoURL知识。 一、了解URL 1....URL路由结合app基本使用 标准做法views应该要放在app文件夹,创建app文件夹可以使用终端命令: python manage.py startapp app01 这样就会在根目录下创建一个叫...访问局域网Django服务器 四、使用URL传值 1. 使用场景 我们发现很多网站某个页面的URL末尾都有一段字符串,不同页面URL字符串值都不一样。...wd=python 这里要检索内容python通过网页输入框传给URLwd关键字。Django框架也能实现类似的功能,该怎么实现呢?

    1.4K31

    Django获取URL数据

    Django获取URL数据 URL参数一般有两种形式。...q=Django&t=blog&u=zy010101 我们将第一种形式称为“URL路径参数”;第二种形式称为“URL关键字形式”。下面讲述如何在Django获取这两种形式数据。...在此之前,需要说明是,在URL携带数据方式一般是前端发起GET请求,至于为什么GET请求不在请求体携带参数,可以参考这篇文章:关于在GET请求中使用body URL路径参数 使用path函数...需要注意在Django,使用正则表达式来获取分组语法是(?Ppattern),其中 name 是组名,pattern 是要匹配模式。...HttpRequest对象属性GET、POST都是QueryDict类型对象 Django获取URL关键字参数可以通过HttpRequest.GET属性来获取。

    5.6K30

    02.Django基础二之URL路由系统

    2.0版本路由系统已经替换成下面的写法,但是django2.0是向下兼容1.x版本语法(官方文档): from django.urls import path urlpatterns = [...换句话讲,所有的请求方法 —— 同一个URLPOST、GET、HEAD等等 —— 都将路由到相同函数。...在使用Django 项目时,一个常见需求是获得URL最终形式,以用于嵌入到生成内容(视图中和显示给用户URL等)或者用于处理服务器端导航(重定向等)。   ...在需要URL 地方,对于不同层级,Django 提供不同工具用于URL 反查: 在模板:使用url模板标签。...] 那么其他appurls.py中就不需要写app_name='应用名'了,看app01下urls.py写法: from django.conf.urls import url from django.contrib

    1.5K20

    用人话讲解djangourl路由系统学习

    对于高质量Web 应用来说,使用简洁、优雅URL 模式是一个非常值得重视细节。Django 允许你自由地设计你URL,不受框架束缚。...在Django,定义URLconf包括正则表达式、视图两部分,Django使用正则表达式匹配请求URL,一旦匹配成功,则调用应用视图。...首先在根目录下 django_tutrital2/urls.py 文件写两个路由 app01 app02分组: from django.contrib import admin from django.urls...是views.py 对应函数名称,这样 index 函数对应url 是 http://127.0.0.1:8000/app01/index/ django_tutrital2/app01/views.py...总的来说 url 就是匹配用户在浏览器输入 url ,然后指定由哪个视图函数处理对应网络请求。

    73720

    Djangourl与视图详解(2)

    本文链接:https://blog.csdn.net/weixin_43908900/article/details/94892086 Djangourl与视图详解(2) url命名: 因为url...如果在代码写死可能会经常改代码。给url取个名字,以后使用url时候就使用他名字进行反转就可以了,就不需要写死url了。.../',views.login,name='login') ] 应用命名空间: 在多个APP中会出现相同url,因为在现实环境,一个项目不能是一个人完成,为了避免在反转时候出现混淆,我们需要在APP...==>应用命名空间:url名称方式; login_url = reverse('front:login') 实例命名空间: 一个app,可以创建多个实例。...re_path相关操作: 注意点:写正则表达式是使用标志性原生字符串·“r”开头,在正则表达式定义变量,需要使用圆括号括起来。这个参数是有名字,那么需要使用?P。

    1.1K20

    Djangourl与视图详解(1)

    本文链接:https://blog.csdn.net/weixin_43908900/article/details/94463842 Djangourl与视图详解(1) 这是Django第一部分...:关于url跟视图相关知识,下面请看操作: url映射: 映射是Django原生功能,因为在settings.py配置了ROOT_URLCONF为urls.py。...所有django会去urls.py寻找。 我们所有的映射都要放在urlpatterns这个变量,不要问为什么,因为我也不知道。...url传参数: ​ 采用在url中使用变量方式:在path第一个参数,使用方式可以传递参数。...然后在视图函数也要写一个参数,视图函数参数必须和url参数名称保持一致,不然就找不到这个参数。另外,url可以传递多个参数。

    1.3K30

    Django url补充以及模板继承

    DjangoURL补充 默认值 在url路由关系时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root"}), 这样在视图函数,就可以获取这个默认参数...在项目的urls里写入如下代码: urlpatterns = [ url(r'^a/',include("app01.urls",namespace="author")) ] 在appurls...最后在views视图函数写入如下代码: from django.urls import reverse def index(request): v = reverse("author:index...关于获取用户请求信息 我们在视图函数函数中都加了一个request参数,我们可以通过from django.core.handlers.wsgi import WSGIRequest 导入之后通过...如果自己网站每个页面都有上面这个部分,如果我们在每个页面都重复写这段代码就会很麻烦,并且改动起来也需要每个都改动,为了这种需求,模板继承可以解决这个问题 把相同东西写入到模板,如果某个部分不同则

    1.1K60

    Django 路由

    目录 Django 路由 路由分发 名称空间 伪静态 本地虚拟环境 Django版本区别 JsonResponse 上传文件 Django 路由 每个应用(app)都可以有自己templates来存放...HTML文件,查找顺序是通过app注册顺序来查找路由分发 django是专注于开发应用,当一个django项目特别庞大时候,所有的路由与视图函数映射关系全部写在总urls.py很明显太冗余不便于管理...; 其实django每一个应用都可以有自己urls.py,static文件夹,templates文件夹,基于上述特点,使用django做分组开发非常简便; 这里路由分发,类似项目下urls.py...是总路由,应用下urls.py是子路由,这样各司其职,先通过总路由筛选要找应用,在通过应用路由查询对应关系及其对应视图函数,渲染出不同页面··· '''总路由分发''' # 方式一 from...ps:创建虚拟环境类似于你重新下载了一个纯净python解释器,如果反复创建类似于反复下载,会消耗一定硬盘空间 Django版本区别 1.区别 urls.py路由匹配方法

    62120
    领券