Login
网站首页 > 文章中心 > 其它

Django零基础入门之路由path和re_path详解

作者:小编 更新时间:2023-09-30 15:49:44 浏览量:291人看过

我将详细讲解"Django零基础入门之路由path和re_path详解"的完整攻略,包括两条示例说明.

什么是Django路由?

Django路由是负责将 URL 转化为视图的函数或方法的机制.路由将 URL 映射到相应的视图上,以处理用户发出的请求. Django路由规则都存储在每一个应用的 urls.py 文件中.

path路由


from django.urls import path
from . import views

urlpatterns = [
path('hello/', views.say_hello, name='hello'),
]


path() 函数接收两个必需的参数:路由规则和视图函数.

第三个参数是一个可选的参数,表示该 URL 的 name 属性.

URL 路由中的末尾斜杠非常重要,如果在 URL 的字符串末尾添加了一个斜线,它会导致 Django 无法匹配 URL.

re_path路由

当path() 无法满足你的路由需求时,就可以用到 re_path() 函数.它接受的第一个参数是正则表达式,后面的参数可选.其中,第二个参数是视图函数,之后是 URL 的 name 属性.如下所示:


from django.urls import re_path
from . import views

urlpatterns = [
re_path(r'hello/(?P\w◆)/', views.say_hello, name='hello'),
]


正则表达式中的 name 是一个特殊的行为,它告诉 Django 提取匹配 URL 的部分并作为参数发送给视图函数.例如,上面土嘎嘎给出的例子源码中,say_hello() 视图会接收到名为 name 的参数.

两个示例

此时此刻呢,我将介绍两个示例,用来说明 path 路由和 re_path 路由的具体用法.

示例一:path路由

在 urls.py 文件中添加如下路由:


from django.urls import path
from . import views

urlpatterns = [
path('hello/', views.say_hello, name='hello'),
]


在 views.py 文件中添加如下视图:


from django.http import HttpResponse

def say_hello(request):
return HttpResponse('Hello World!')


示例二:re_path路由


from django.urls import re_path
from . import views

urlpatterns = [
re_path(r'hello/(?P\w◆)/', views.say_hello, name='hello'),
]



from django.http import HttpResponse

def say_hello(request, name):
return HttpResponse(f'Hello {name.capitalize()}!')


这就是本篇攻略的全部内容.希望本文能够帮助你了解 Django 中路由的用法.

以上就是土嘎嘎小编为大家整理的Django零基础入门之路由path和re_path详解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章