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操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
从零学Python之入门(五)缩进和选择
May 27 Python
用Python输出一个杨辉三角的例子
Jun 13 Python
Python使用百度API上传文件到百度网盘代码分享
Nov 08 Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
Python常用小技巧总结
Jun 01 Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 Python
python 正确保留多位小数的实例
Jul 16 Python
利用arcgis的python读取要素的X,Y方法
Dec 22 Python
Django Rest framework三种分页方式详解
Jul 26 Python
Django框架ORM数据库操作实例详解
Nov 07 Python
Pycharm debug调试时带参数过程解析
Feb 03 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程序的方法小结
2012/02/23 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
JS option location 页面跳转实现代码
2008/12/27 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
财务管理专业毕业生求职信范文
2013/09/21 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
优秀员工评优方案
2014/06/13 职场文书
团结主题班会
2015/08/13 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
2019 入党申请书范文
2019/07/10 职场文书
话题作文之关于呼唤
2019/11/29 职场文书