千家信息网

如何理解django中url路由系统

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,如何理解django中url路由系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于高质量的Web 应用来说,使用简洁
千家信息网最后更新 2025年01月23日如何理解django中url路由系统

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

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

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

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

我需要两个 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/

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

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

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

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

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

0