资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

如何理解django中url路由系统

如何理解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, include
urlpatterns = [    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_url
urlpatterns = [    path('index/', index),    path('article//', 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//', article),】 为例,完整的 url 是

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

如何理解django中url路由系统

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

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


标题名称:如何理解django中url路由系统
文章链接:http://www.cdkjz.cn/article/jjhhoj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220