Python测试开发django5.templates模板变量传参

上一篇,我们学习了Python测试开发django4.templates模板配置

      templates模板中html文件是一个静态页面,写四的,如果有时我们想动态的传入一些不同的参数,想实现在一个固定的html样式,这就可以用django的模板变量传参来解决。

项目目录

模板语法

helloworld\hello\templates\demo.html 文件中用{{html变量名}}表示变量名

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>demo模板</title>
</head>
<body><p><h4> 我的博客 </h4><a href="https://blog.csdn.net/qq_36502272" target="_blank" > {{name}} </a><hr><h4> 软件测试技术交流分享-创建时间{{create_time}} </h4><p>软件测试技术、方法、测试方案分享交流、Python自动化测试交流学习、性能Jmeter工具交流学习<br>QQ交流群212683165</p><a href="https://blog.csdn.net/qq_36502272" target="_blank" >点击访问博客</a>
</p></body>
</html>

helloworld\hello\views.py 文件中用{'html变量名':传views变量名或'传值'}表示传参

# 传views变量名
def demo(request):name_dict = {'name': '橙子探索测试'}skill_list = ['python自动化测试','测试方案','jmeter性能自动化测试']return render(request, 'demo.html', {'name_dict': name_dict, 'skill_list': skill_list})# 传值 
def demo(request):create_time = time.timereturn render(request, 'demo.html', {'create_time': create_time, 'name': '橙子探索测试'})    

模板路径

向django说明模板的路径,helloworld\helloworld\settings.py文件里配置模板路径'DIRS'为 [BASE_DIR+"/templates",],

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [BASE_DIR+"/templates",],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]

helloworld\helloworld\urls.py文件代码

from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from hello import viewsurlpatterns = [path('admin/', admin.site.urls),url('^demo$', views.demo),
]

案例1

helloworld\hello\templates\demo.html设置变量{{name}}、{{create_time}}

helloworld\hello\views.py 设置传参{'create_time': create_time, 'name': '橙子探索测试'}

传参字典中的key create_time、name对应模板中的变量{{create_time}}、{{name}},根据key取出对应的value

# demo.html<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>demo模板</title>
</head>
<body><p><h4> 我的博客 </h4><a href="https://blog.csdn.net/qq_36502272" target="_blank" > {{name}} </a><hr><h4> 软件测试技术交流分享-创建时间{{create_time}} </h4><p>软件测试技术、方法、测试方案分享交流、Python自动化测试交流学习、性能Jmeter工具交流学习<br>QQ交流群212683165</p><a href="https://blog.csdn.net/qq_36502272" target="_blank" >点击访问博客</a>
</p></body>
</html>
# urls.pyfrom django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
import timedef index(request):return HttpResponse("hello")def demo(request):create_time = time.timereturn render(request, 'demo.html', {'create_time': create_time, 'name': '橙子探索测试'})

访问http://127.0.0.1:8000/demo

案例2

helloworld\hello\templates\demo.html设置变量{{name_dict}}取整个字典、{{name_dict.name}}取字典中的name值,{{skill_list}}取整个列表、{{skill_list.0}}取列表中第1个值

helloworld\hello\views.py 设置传参{'name_dict': name_dict, 'skill_list': skill_list}

# demo.html<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>demo模板</title>
</head>
<body><p><h4> {{name_dict}},{{skill_list}} </h4><a href="https://blog.csdn.net/qq_36502272" target="_blank" > {{name_dict.name}} </a><hr><h4> 软件测试技术交流分享{{create_time}} </h4><p>软件测试技术、方法、测试方案分享交流、{{skill_list.0}}、性能Jmeter工具交流学习<br>QQ交流群212683165</p><a href="https://blog.csdn.net/qq_36502272" target="_blank" >点击访问博客</a>
</p></body>
</html>
# urls.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
import timedef index(request):return HttpResponse("hello")def demo(request):name_dict = {'name': '橙子探索测试'}skill_list = ['python自动化测试','测试方案','jmeter性能自动化测试']return render(request, 'demo.html', {'name_dict': name_dict, 'skill_list': skill_list})

访问http://127.0.0.1:8000/demo

【UI设计、平面设计、LOGO设计需求】商务合作QQ:2017340535

【软件测试方案设计、测试方法指导】商务合作QQ:2017340535

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git入门一

1、下载git并安装 &#xff08;github网站中 start 收藏 follow 关注 watch &#xff08;关注项进度&#xff09;查看进度&#xff09; 2、启动git。一般用git bash 3、改变git bash界面 4、在本地建立git bash仓库 到本地文件夹下&#xff0c;右击建立 git bash here。 5、…

Python测试开发django5.urls.py参数name与a标签的引用

上一篇&#xff0c;我们学习了Python测试开发django5.templates模板变量传参如果我们有2个页面home.html和demo.html&#xff0c;两个页面是独立的没有关系的&#xff0c;现在需要从home.html页&#xff0c;点某个超链按钮&#xff0c;跳转到demo.html页&#xff0c;home.html页…

git入门二

exit 退出git bash 命令窗口 1、刚安装成功界面&#xff1a; 2、查看配置信息&#xff1a; 3、配置用户名和邮箱 此时再看git config --list。已经有用户名和邮箱的信息 4、把当前目录初始化为仓库并提交 5、将远程和本地连接 &#xff08;1&#xff09;在https//github.com 上…

opencv1-加载、修改、保存图像

我的实践&#xff1a; #include<opencv2\opencv.hpp> #include<iostream> using namespace cv; using namespace std; int main() {Mat src imread("E:\\vs2015\\opencvstudy\\2.jpg", 1);if (src.empty()){cout << "could not load the i…

接口自动化实战设计思路,想法及疑问(一)

各位粉丝朋友们大家好&#xff0c;最近在学习研究接口自动化测试时&#xff0c;在设计思路和实践过程中&#xff0c;碰到了很多问题&#xff0c;再不断的优化和调整&#xff0c;这过程中产生了很多疑问和不解&#xff0c;并与很多测试的朋友进行交流想法&#xff0c;但是各自想…

2019年下半年《软件评测师》下午试卷及答案

一、阅读下列C程序&#xff0c;回答问题1至问题3。问题&#xff1a;1.1 (6分)请针对上述C程序给出满足100%DC (判定覆盖)所需的逻辑条件。buf_c[i]<7||buf_c[i]>14&#xff1b;i>32; buf_len>512&#xff1b;buf_len<512 buf_len0&#xff1b;buf_len!0 i<…

2018年下半年《软件评测师》下午试卷及答案

&#xff08;共15分&#xff09;一、阅读下列C程序&#xff0c;回答问题1至问题3,将解答填入答题纸的对应栏内。问题&#xff1a;1.1 &#xff08;3分&#xff09;请针对上述C程序给出满足100%DC&#xff08;判定覆盖&#xff09;所需的逻辑条件。本问题考查白盒测试用例设计…

opencv3-Mat对象

我的实践&#xff1a; #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace cv; using namespace std; int main() {//加载图像Mat src imread("E:\\vs2015\\opencvstudy\\2.jpg", 1);if (!src.data){cout <&…

2017年下半年《软件评测师》下午试卷及答案

一、【C程序】问题&#xff1a;1.1 &#xff08;3分&#xff09;请针对上述C程序给出满足100%DC&#xff08;判定覆盖&#xff09;所需的逻辑条件。本题考查白盒测试法及应用。本问题考查白盒测试用例设计方法中的判定覆盖法。判定覆盖指设计足够的测试用例&#xff0c;使得被…

opencv4-图像操作

这里Vex3f 也可以是Vec3b #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace cv; using namespace std;//读写图像&#xff0c; //读写像素&#xff0c; //修改像素值 int main() {Mat src imread("E:\\vs2015\\open…

2016年下半年《软件评测师》下午试卷及答案

一、阅读下列C程序&#xff0c;回答问题1至问题3&#xff0c;将解答填入答题纸的对应栏内。【C程序】问题&#xff1a;1.1 请针对上述C程序给出满足100%DC&#xff08;判定覆盖&#xff09;所需的逻辑条件本问题考查白盒测试用例设计方法中的判定覆盖法。判定覆盖指设计足够的…

opencv5-图像混合

代表一幅图像。代表权重&#xff0c;取值范围为0~1。代表另一幅图像 对图像的每一个像素进行此操作。得到混合后图像 我的实践&#xff1a; #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace cv; using namespace std; …

2018年下半年《软件评测师》上午试卷及答案

1、以下关于信息和数据的描述中,错误的是( B)。 A. 通常从数据中可以提取信息 B. 信息和数据都由数字组成 C. 信息是抽象的、数据是具体的 D. 客观事物中都蕴涵着信息信息反映了客观事物的运动状态和方式&#xff0c;数据是信息的物理形式。信息是抽象的&#xff0c;数…

opencv6-调整图像亮度和对比度

一、理论 亮度&#xff1a;0~255之间取大一些的值 对比度&#xff1a;即让R G B 分量的差值增大 二、代码演示 #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace cv; using namespace std; int main() {Mat src imread…

Jmeter之测试片段和模块控制器应用

一、测试片段是什么&#xff1f;应用在控制器上的一个特殊线程组&#xff0c;与线程组处于同一层级&#xff0c;必须与Include Controller或模块控制器一起使用才被执行。被引用的逻辑控制器、测试片段可以为禁用状态&#xff0c;被引用后仍然会被执行二、应用场景1、当jmeter脚…

opencv7-绘制形状和文字

一、理论 二、代码演示 #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace cv; using namespace std; Mat bgImage; const char* drawdemo_win "draw shapes and text demo"; void MyLines(); void MyRectang…

上海居住证积分办理攻略,太容易了,快来收藏!!!

历时1个月零2天&#xff0c;上海居住证积分终于办下来了&#xff0c;太激动了&#xff0c;我整理了积分办理攻略&#xff0c;准备办积分的朋友&#xff0c;大家快来围观参考交流&#xff01;&#xff01;&#xff01;一、办理居住证二、模拟打分根据自己真实情况填写并打分&…

opencv8-图像模糊

为掩膜 表示图像在&#xff08;i,j&#xff09;位置的像素 代表图像经过掩膜操作 双边模糊&#xff1a;&#xff08;基于高斯模糊&#xff09; #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace std; using namespace c…

上海人社APP历年社保查询攻略

随时随地查社保&#xff0c;太方便了&#xff0c;快来收藏起来&#xff01;&#xff01;&#xff01;1、苹果商店或安卓商店下载【上海人社app】2、账号登录&#xff0c;账号&#xff1a;身份证号码 密码&#xff1a;去社保中心开通3、首页&#xff0c;点击CA证书管理4、点击【…

opencv9-膨胀和腐蚀

膨胀是求最大值。即白色增多 腐蚀是求最小值&#xff0c;即黑色增多 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; //模糊原理 Mat src; Mat…