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 BeautifulSoup设置页面编码的方法
Apr 03 Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
python logging日志模块的详解
Oct 29 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
Python之时间和日期使用小结
Feb 14 Python
查看python安装路径及pip安装的包列表及路径
Apr 03 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
Jun 27 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
python 实现德洛内三角剖分的操作
Apr 22 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
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
JavaScript日期库date-fn.js使用方法解析
2020/09/09 Javascript
python生成excel的实例代码
2017/11/08 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
修理厂厂长岗位职责
2014/01/30 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
写景作文评语集锦
2014/12/25 职场文书
雨花台导游词
2015/02/06 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
行政处罚决定书
2015/06/24 职场文书
感谢信
2019/04/11 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js