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使用dis模块把Python反编译为字节码的用法详解
Jun 14 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
Apr 26 Python
Python读写docx文件的方法
May 08 Python
python方法生成txt标签文件的实例代码
May 10 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 Python
Django Form设置文本框为readonly操作
Jul 03 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 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
preg_match_all使用心得分享
2014/01/31 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
详解python中*号的用法
2019/10/21 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
外包公司软件测试工程师
2014/11/01 面试题
实习护理工作自我评价
2013/09/25 职场文书
毕业生个人求职的自我评价
2013/10/28 职场文书
餐厅考勤管理制度
2014/01/28 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
绘画专业自荐信
2014/07/04 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
Python中itertools库的四个函数介绍
2022/04/06 Python
Nginx配置根据url参数重定向
2022/04/11 Servers
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL