前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python测试开发django3.视图和URL配置

Python测试开发django3.视图和URL配置

作者头像
王大力测试进阶之路
发布2020-09-07 15:17:37
5450
发布2020-09-07 15:17:37
举报
文章被收录于专栏:橙子探索测试橙子探索测试

1、Django path()方法

Django路由系统中最重要的path()方法可以接收4个参数,其中2个是必须的:route和view,以及2个可选的参数:kwargs和name

代码语言:javascript
复制
def path(route, view, kwargs=None, name=None):
           return re_path(route, view, kwargs, name)

route

route 是一个匹配 URL 的准则(类似正则表达式)。当 Django 响应一个请求时,它会从 urlpatterns 的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项,然后执行该条目映射的视图函数或下级路由,其后的条目将不再继续匹配。因此,url路由的编写顺序非常重要!

需要注意的是,route不会匹配 GET 和 POST 参数或域名。例如,URLconf 在处理请求 https://www.example.com/myapp/时,它会尝试匹配 myapp/。处理请求 https://www.example.com/myapp/?page=3 时,也只会尝试匹配 myapp/

view

view指的是处理当前url请求的视图函数。当Django匹配到某个路由条目时,自动将封装的HttpRequest对象作为第一个参数,被“捕获”的参数以关键字参数的形式,传递给该条目指定的视图view。

kwargs

任意数量的关键字参数可以作为一个字典传递给目标视图。

name

对你的URL进行命名,让你能够在Django的任意处,尤其是模板内显式地引用它。这是一个非常强大的功能,相当于给URL取了个全局变量名,不会将url匹配地址写死。

path()方法的四个参数,每个都非常有讲究,这里先做基本的介绍,在后面有详细的论述。

2、在之前创建的项目helloworld/helloworld目录下新建一个 view.py文件并新增代码如下:

代码语言:javascript
复制
from django.http import HttpResponse


def index(request):
    return HttpResponse("<a href='https://www.djangoproject.com/'>这个是django官网</a>")

def order_list(request):
    return HttpResponse("<b>这里是订单列表页面</b>")

3、urls.py新增配置代码如下:

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path
from . import view   #新增
urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', view.index),  #新增
    path('order_list/', view.order_list),  #新增
]

4、启动服务,访问http://127.0.0.1:8000/login 由于没有找到对应的url,报错404了

再次访问http://127.0.0.1:8000/index/ 访问成功了,我们可以看到是view.py文件中的index方法的响应内容

再次访问http://127.0.0.1:8000/order_list/ 访问成功了,我们可以看到是view.py文件中的order_list方法的响应内容

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 橙子探索测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档