Django测试工具 Client

server/2024/9/23 18:22:42/

Django测试工具 Client

Python3 manage.py shell

1.测试模型中的数据操作

from OverlayList.models import RequestInfo
RequestInfo.objects.all()

2.测试URL视图,返回值
$Python3 manage.py shell

from django.test.utils import setup_test_environment
setup_test_environment()
from django.test import Client

create an instance of the client for our use

client = Client()
In [8]: response = client.get(‘/stage?project=D28’)
In [9]: response.content
Out[9]: b’{“list”: [{“model”: “Common.stage”, “pk”: 1, “fields”: {“name”: “P1”, “description”: “”, “startTime”: null, “stopTime”: null, “project”: “D28”}}, {“model”: “Common.stage”, “pk”: 3, “fields”: {“name”: “P2”, “description”: “”, “startTime”: null, “stopTime”: null, “project”: “D28”}}], “msg”: “success”, “error_num”: 0}’

In [10]: response.status_code
Out[10]: 200
Django URL
一、URL调度器
给应用设计URL,需要创建一个python模块,即URLconf, 包含URL模式到python函数(视图)的简单映射。

1.Path()/re_path()

Function views

  1. Add an import: from my_app import views
  2. Add a URL to urlpatterns: path(‘’, views.home, name=‘home’)
    Class-based views
  3. Add an import: from other_app.views import Home
  4. Add a URL to urlpatterns: path(‘’, Home.as_view(), name=‘home’)
    Including another URLconf
  5. Import the include() function: from django.urls import include, path
  6. Add a URL to urlpatterns: path(‘blog/’, include(‘blog.urls’))
  • 要从 URL 中取值,使用尖括号。

  • 这里不需要添加反斜杠,因为每个 URL 都有。比如,应该是 articles 而不是 /articles 。

  • path(‘articles/int:year/int:month/slug:slug’, views.article_detail),

  • /articles/2003/03/building-a-django-site/ 会匹配 URL 列表中的最后一项。Django 会调用函数 views.article_detail(request, year=2003, month=3, slug=“building-a-django-site”) 。

2.路径转换器

  • str - 匹配除了 ‘/’ 之外的非空字符串。如果表达式内不包含转换器,则会默认匹配字符串。
  • int - 匹配 0 或任何正整数。返回一个 int 。
  • slug - 匹配任意由 ASCII 字母或数字以及连字符和下划线组成的短标签。比如,building-your-1st-django-site 。
  • uuid - 匹配一个格式化的 UUID 。为了防止多个 URL 映射到同一个页面,必须包含破折号并且字符都为小写。比如,075194d3-6885-417e-a8a8-6c931e272f00。返回一个 UUID 实例。
  • path - 匹配非空字段,包括路径分隔符 ‘/’ 。它允许你匹配完整的 URL 路径而不是像 str 那样匹配 URL 的一部分。

3.使用正则表达式,re_path()
语法是(?Ppattern)
path(‘articles/2003/’, views.special_case_2003),
re_path(r’^articles/(?P[0-9]{4})/ ′ , v i e w s . y e a r a r c h i v e ) , a r t i c l e s / 1998 / r e p a t h ( r ′ a r t i c l e s / ( ? P < y e a r > [ 0 − 9 ] 4 ) / ( ? P < m o n t h > [ 0 − 92 ) / ', views.year_archive), articles/1998/ re_path(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9{2})/ ,views.yeararchive),articles/1998/repath(rarticles/(?P<year>[09]4)/(?P<month>[092)/', views.month_archive), articles/1998/
4.指定视图参数的默认值
path(‘blog/’, views.page), 使用默认的num参数,1
path(‘blog/pageint:num/’, views.page),
def page(request, num=1):
pass

5.包含其他的URLconf, include()
path(‘community/’, include(‘aggregator.urls’)),

二、nginx代理请求:
proxy代理,对应到生产环境,需要在Nginx配置代理,转发请求

build打包后的dist文件直接放到服务器上,进行配置
vue搭建一个本地服务器运行打包后dist文件
1.npm install -g http-server
2.开启服务: http-server ./dist
3.会出现访问地址,浏览器预览即可

三、打包成app
用能在本地打开的dist文件夾,成功打包APK

想要直接在本地打开dist文件,直接看到页面效果,可以根据如下操作进行:
參考
解决vue项目打包后打开index.html一片空白

proxy代理請求部分,可以配置生产环境和开发环境的地址

/config/index.js

proxyTable: {
‘/film’: {
target: ‘https://m.maizuo.com’,
changeOrigin: true,
pathRewrite: {
‘^/film’:
‘https://m.maizuo.com’
}
},
},

/config/dev.env.js

module.exports = merge(prodEnv, {
NODE_ENV: ‘“development”’,
API_HOST:‘“/film”’
})

/config/prod.env.js
module.exports = {
NODE_ENV: ‘“production”’,
API_HOST:‘“https://m.maizuo.com”’
}

axios请求部分
添加baseURL, 根据时环境,自由切换
baseURL: process.env.API_HOST // 兼容开发环境和生产环境的请求地址
axios.get('/gateway’)

npm run dev : /film/gateway
==> 转发 https://m.maizuo.com/gateway
npm run build : https://m.maizuo.com/gateway


http://www.ppmy.cn/server/19283.html

相关文章

8086:qemu执行汇编

正文 环境&#xff1a;macOS M1。 QEMU&#xff08;Quick EMUlator&#xff09;是一个开源的虚拟机监视器&#xff0c;可以模拟多种硬件平台&#xff0c;包括处理器架构、设备和操作系统。QEMU具有以下主要功能和用途&#xff1a; 硬件模拟器&#xff1a;QEMU可以模拟多种处理…

UE4_动画基础_FootIK

角色由于胶囊体的阻挡&#xff0c;双脚与地面平行&#xff0c;不会与斜坡、台阶等贴合&#xff0c;有一条腿会处于悬空状态&#xff0c;通过双骨骼IK节点使一只脚太高&#xff0c;让后胶囊体下降&#xff0c;修正双脚的角度。这就是逆向运动IK的方法。 一、新建第三人称模板游戏…

短视频矩阵营销系统 poihuoqu 任意文件读取漏洞复现

0x01 产品简介 短视频矩阵营销系统是由北京华益云数据科技有限公司开发的一款产品,这家公司专注于抖音短视频矩阵营销系统的研发,致力于为企业提供全方位的短视频营销解决方案。华益云抖销短视频矩阵系统可以帮助企业快速搭建多个短视频账号,实现内容的批量制作和发布,提高…

linux离线安装mysql

一、下载mysql 地址&#xff1a;MySQL 这里选择64位还是32位要根据操作系统来 uname -m 二、上传解压配置mysql 使用root账户登录linux服务器&#xff0c;在opt文件下创建mysql文件夹 cd /opt sudo mkdir mysql 使用Xftp上传mysql压缩包到此文件夹下(自行决定路径) cd mysql/…

Matlab 对nc文件进行处理

1.介绍nc文件 NetCDF全称为network Common Data Format&#xff0c;中文译法为“网络通用数据格式”&#xff1b;netcdf文件开始的目的是用于存储气象科学中的数据&#xff0c;现在已经成为许多数据采集软件的生成文件的格式。 •从数学上来说&#xff0c;netcdf存储的数据就是…

SL3038 耐压150V恒压芯片 60V降24V 72V降12V降压IC

SL3038 是一款恒压芯片&#xff0c;其耐压值为 150V。这意味着它可以在高达 150V 的电压下工作而不会损坏。现在&#xff0c;让我们来讨论您提到的两个降压应用&#xff1a;从 60V 降到 24V 和从 72V 降到 12V。 1. 60V 降到 24V&#xff1a; 输入电压&#xff1a;60V 输出电…

聊聊实际工作中设计模式的使用

一直想在CSDN上写一篇关于软件设计模式的文章&#xff0c;草稿打了好久&#xff0c;但很长时间都没有想好该如何写&#xff0c;主要有几点考虑&#xff1a; 1、市面上同类的介绍实在太多了。正所谓第一个能够把美女比喻成鲜花的人是天才&#xff0c;第二个还这么说的是庸才&…

广州增城牛仔裤制衣厂房的降温

针对广州增城牛仔裤制衣厂房的降温问题&#xff0c;以下是一些建议的降温方案&#xff1a; 通风换气&#xff1a;改善厂房的通风状况是降温的首要步骤。可以安装大型工业风扇或排风扇&#xff0c;增加空气流通&#xff0c;减少热空气滞留。同时&#xff0c;确保厂房的门窗能够…