温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何理解django中url路由系统

发布时间:2021-10-21 15:14:32 阅读:135 作者:柒染 栏目:大数据
GO开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

如何理解django中url路由系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

对于高质量的Web 应用来说,使用简洁、优雅的URL 模式是一个非常值得重视的细节。Django 允许你自由地设计你的URL,不受框架束缚。

在Django中,定义URLconf包括正则表达式、视图两部分,Django使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图。

假如我的项目有两个应用分别是 app01 和 app02,  项目结构如下:

如何理解django中url路由系统

我需要两个 url 分组来映射两个app 应用。首先在根目录下的 django_tutrital2/urls.py 文件写两个路由 app01 app02分组:

from django.contrib import adminfrom django.urls import path, includeurlpatterns = [    path('admin/', admin.site.urls),    path('app01/', include('app01.urls')),    path('app02/', include('app02.urls')),]

以【path('app01/', include('app01.urls')),】为例,第一个 app01 是你在浏览器上输入的 url 内容,include 里的 app01 是应用的名称,指向 app01 应用的 urls.py 文件。django_tutrital2/app01/urls.py 内容:

from django.urls import path, includefrom app01.views import index, article, test_urlurlpatterns = [    path('index/', index),    path('article/<str:aid>/', article),    path('test_url/', test_url),]

以【path('index/', index),】为例,第一个 index 是你在浏览器上输入的 url 内容,后面的index 是views.py 中对应函数名称,这样 index 函数对应的url 是  http://127.0.0.1:8000/app01/index/

django_tutrital2/app01/views.py 内容如下:

from django.shortcuts import render, HttpResponse# Create your views here.def index(request):    return HttpResponse("这个是首页--app01")def article(request, aid):    return HttpResponse('这是第{}篇文章'.format(aid))def test_url(request):    return HttpResponse('url测试--app01')

浏览器输入对应的url http://127.0.0.1:8000/app01/index/

如何理解django中url路由系统

浏览器输入对应的url http://127.0.0.1:8000/app02/index/

如何理解django中url路由系统

url 部分内容还能被当做参数,比如说要看第5篇文章,以【path('article/<str:aid>/', article),】 为例,完整的 url 是

http://127.0.0.1:8000/app01/article/5/

如何理解django中url路由系统

总的来说 url 就是匹配用户在浏览器输入的 url ,然后指定由哪个视图函数处理对应的网络请求。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4579283/blog/4351052

AI

开发者交流群×