对于很多新手来说,如何理解django中的url路由系统并不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。
对于高质量的Web应用程序来说,使用简单优雅的URL模式是一个非常重要的细节。Django允许您自由设计您的URL,而不受框架的约束。
在Django中,定义URLconf包括正则表达式和视图。Django使用正则表达式来匹配请求的URL,一旦匹配成功,它就调用应用的视图。
如果我的项目有两个应用,即app01和app02,项目结构如下:
我需要两个url分组来映射两个应用程序。首先,在根目录下的django_tutrital2/urls.py文件中写入两个路由app01 app02分组:
from django . contrib import adminfrom django . URLs import path,include err patterns=[path(' admin/',admin.site.urls),path('app01/',include('app01.urls ')),path('app02/',include('app02.urls '),]
取[path ('app01/'),include ('app01。URL '),]例如,第一个app01是您在浏览器中输入的URL内容,include中的app01是应用程序的名称,指向app01应用程序的urls.py文件。django _ tutrital 2/app 01/URL . py内容:
来自django.urls导入路径,包括来自app01.views导入索引,文章,test _ urlrpatterns=[路径(' index/',index),路径(' article/str 3360 aid/',article),路径(' test_url/',test_url),]
以[path('index/',index),]为例。第一个索引是您在浏览器中输入的url,下面的索引是views.py中对应函数的名称,所以索引函数对应的url是http://127.0.0.1:8000/app01/index/.
django _ tutrital 2/app 01/views . py如下:
来自姜戈。shortcutsimportrender,httpresponse #在此创建您的视图。define dex(request): return HttpResponse('这是第一页-app01 ')子句(request,Aid): return HttpResponse('这是{}文章'。format(aid))defest _ URL(request):返回httpresponse ('URL test - app01 ')。
浏览器输入对应的urlhttp://127.0.0.1:8000/app01/index/
浏览器输入对应的urlhttp://127.0.0.1:8000/app02/index/
部分url也可以作为参数,比如读第五篇文章,以[path ('article/str : aid/',article)]为例,完整的url为。
http://127.0.0.1:8000/app01/article/5/
一般来说,url是匹配用户在浏览器中输入的url,然后指定哪个视图函数将处理相应的网络请求。
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/39953.html