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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
Python正则表达式匹配HTML页面编码
Apr 08 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
在Python中使用AOP实现Redis缓存示例
Jul 11 Python
python获取多线程及子线程的返回值
Nov 15 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
Django 数据库同步操作技巧详解
Jul 19 Python
安装PyInstaller失败问题解决
Dec 14 Python
Python运行异常管理解决方案
Mar 09 Python
了解一下python内建模块collections
Sep 07 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
Python加密技术之RSA加密解密的实现
Apr 08 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
Terran兵种对照表
2020/03/14 星际争霸
简单的过滤字符串中的HTML标记
2006/12/25 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
php源码的使用方法讲解
2019/09/26 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
jQuery extend()详解及简单实例
2017/05/06 jQuery
angular json对象push到数组中的方法
2018/02/27 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
django用户登录和注销的实现方法
2018/07/16 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
详解python 内存优化
2020/08/17 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
护士实习鉴定范文
2013/12/22 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android