python之django路由和视图案例教程

作者:windyson2004 时间:2021-06-24 09:48:09 

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路由和视图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://blog.csdn.net/windyson2004/article/details/119060051

标签:python,django,视图,路由
0
投稿

猜你喜欢

  • 安装并免费使用Pycharm专业版(学生/教师)

    2023-09-27 08:14:13
  • pytorch安装及环境配置的完整过程

    2023-06-19 23:53:20
  • python中remove函数的踩坑记录

    2022-10-25 18:32:50
  • asp如何在线压缩Access数据库?

    2010-06-26 12:25:00
  • Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记

    2023-08-17 10:58:20
  • Pytorch模型迁移和迁移学习,导入部分模型参数的操作

    2021-08-05 09:18:16
  • python使用wxpy实现微信消息防撤回脚本

    2023-08-22 21:21:58
  • Python 照片人物背景替换的实现方法

    2021-10-21 08:45:02
  • python中文分词库jieba使用方法详解

    2021-11-14 13:31:06
  • Python JWT认证与pyjwt包详细介绍

    2022-04-28 23:52:31
  • 采用XML数据来填充ASP表单

    2008-05-04 13:32:00
  • FileSystem对象常用的文件操作函数有哪些?

    2009-11-01 15:11:00
  • 让MYSQL彻底支持中文

    2008-12-24 16:23:00
  • 手把手教你使用Python解决简单的zip文件解压密码

    2021-01-20 10:08:41
  • Python Learning 列表的更多操作及示例代码

    2022-11-15 01:05:33
  • Python脚本实现网卡流量监控

    2022-11-27 11:36:51
  • 如何在vscode中安装python库的方法步骤

    2021-01-15 05:49:22
  • 详解tensorflow载入数据的三种方式

    2023-07-22 19:35:56
  • Python通过解析网页实现看报程序的方法

    2022-07-16 14:27:12
  • Python格式化输出的具体实现

    2023-11-20 16:22:19
  • asp之家 网络编程 m.aspxhome.com