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实现ip查询示例
Mar 26 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
使用python3.5仿微软记事本notepad
Jun 15 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
详解Python 装饰器执行顺序迷思
Aug 08 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
django-allauth入门学习和使用详解
Jul 03 Python
如何使用Python抓取网页tag操作
Feb 14 Python
python如何查看安装了的模块
Jun 23 Python
Python之qq自动发消息的示例代码
Feb 18 Python
简单且有用的Python数据分析和机器学习代码
Jul 02 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
source.php查看源文件
2006/12/09 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
PHP数组实例详解
2016/06/26 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
Python探索之ModelForm代码详解
2017/10/26 Python
Python3计算三角形的面积代码
2017/12/18 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
python读取图片任意范围区域
2019/01/23 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Python实现GIF图倒放
2020/07/16 Python
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
Sql面试题
2013/03/20 面试题
质量安全标语
2014/06/07 职场文书
现实表现材料范文
2014/12/23 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers