欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

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

时间:2022-02-02 09:34:17|栏目:Python代码|点击:

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路由

在这里插入图片描述

orderlist路由

在这里插入图片描述

正则路由

上面是常规路由配置,如果我们需要增加根据订单号查询某一个订单的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获取整个网页源码的方法

栏    目:Python代码

下一篇:Python图片检索之以图搜图

本文标题:python之django路由和视图案例教程

本文地址:http://www.codeinn.net/misctech/192073.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有