python之django路由和视图案例教程
卖萌控的博客
点击这里进入电脑版页面!体验更好
python之django路由和视图案例教程
2023-1-28 萌小白


这篇文章主要介绍了python之django路由和视图案例教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下







django路由和视图



要了解django是如何运行的,首先要了解路由和视图两个概念,然后我们在项目中添加一些简单的路由和视图



路由和视图的概念



视图:一个视图函数(类),简称视图,是一个简单的Python一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。

响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。

无论视图本身包含什么逻辑,都要返回响应。

个人觉得django视图的概念其实是spring中的Action和View参和在一起的概念。



路由:维护视图视图函数映射关系的结构,在Web框架中,称之为路由维护视图视图函数映射关系的结构,在Web框架中,称之为路由。

Django把这种映射关系配置在(urls.py)。它的本质是URL与要为该URL调用的视图函数之间的映射表。

可以对比spring中的ActionMapping,能够很好理解路由的概念。



一个简单的例子



我们需要自己创建视图集合,按惯例把视图模块放在views.py中,我们创建分别3个视图:



index 首页

order 显示订单列表

produt 显示产品列表



from django.shortcuts import render
from django.http import HttpResponse

def index(request):
html = "<html><body>It is index page</body></html>"
return HttpResponse(html)

def orderlist(request):
html = "<html><body>It is order list</body></html>"
return HttpResponse(html)

def produtlist(request):
html = "<html><body>It is produt list</body></html>"
return HttpResponse(html)



路由信息配置在项目中urls.py,我们修改下添加自己的路由



from django.contrib import admin
from django.urls import path
from django.urls import re_path
from .views import * “ 导入视图模块

urlpatterns = [
path("admin/", admin.site.urls),
path("index/", index), “ index路由
path("order/", orderlist), “ orderlist路由
path("produt/", produtlist), “ produtlist路由
]



我们看一下运行结果



index路由



python之django路由和视图案例教程



orderlist路由



python之django路由和视图案例教程



正则路由



上面是常规路由配置,如果我们需要增加根据订单号查询某一个订单的URL怎么办,订单号并不是固定的,

我们用到正则路由配置



views.py



def order(request, id):
html = "<html><body>It is order detail id =" + id + " </body></html>"
return HttpResponse(html)



urls.py



urlpatterns = [
re_path("order/([0-9]+)/", order ), “ ([0-9]+) 表示订单号是数字
]



我们看一下运行结果



python之django路由和视图案例教程



到此这篇关于python之django路由和视图案例教程的文章就介绍到这了,更多相关python之django路由和视图内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持!



原文链接:https://blog.csdn.net/windyson2004/article/details/119060051




发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容