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


Posted in Python onJuly 26, 2021

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路由和视图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python编程之多态用法实例详解
May 19 Python
python中异常报错处理方法汇总
Nov 20 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
TensorFlow MNIST手写数据集的实现方法
Feb 05 Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
python编写俄罗斯方块
Mar 13 Python
Python Selenium截图功能实现代码
Apr 26 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
pytorch MSELoss计算平均的实现方法
May 12 Python
python处理json数据文件
Apr 11 Python
OpenCV图像变换之傅里叶变换的一些应用
Python类方法总结讲解
pandas数值排序的实现实例
Jul 25 #Python
python非标准时间的转换
Jul 25 #Python
OpenCV 图像梯度的实现方法
Jul 25 #Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 #Python
Pandas自定义选项option设置
Jul 25 #Python
You might like
PHP中的string类型使用说明
2010/07/27 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
js列举css中所有图标的实现代码
2011/07/04 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
详解js加减乘除精确计算
2019/03/19 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
Python计算程序运行时间的方法
2014/12/13 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
Tesserocr库的正确安装方式
2018/10/19 Python
python轮询机制控制led实例
2020/05/03 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
python中append函数用法讲解
2020/12/11 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
安全责任书范本
2014/04/15 职场文书
2014年新生军训方案
2014/05/01 职场文书
公司活动总结范文
2014/07/01 职场文书
目标责任书格式
2014/07/28 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书