Python测试开发django5.urls.py参数name与<a>标签的引用
上一篇,我们学习了Python测试开发django5.templates模板变量传参
如果我们有2个页面home.html和demo.html,两个页面是独立的没有关系的,现在需要从home.html页,点某个超链按钮,跳转到demo.html页,home.html页面就需要配置demo.html的页面链接
项目目录
helloworldhellotemplatesdemo.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" > 博客网址 </a>
<hr>
<h4> 软件测试技术交流分享 </h4>
<p>软件测试技术、方法、测试方案分享交流、python自动化测试、性能Jmeter工具交流学习<br>
QQ交流群212683165
</p>
<a href="https://blog.csdn.net/qq_36502272" target="_blank" >点击访问博客</a>
</p>
</body>
</html>
helloworldhellotemplateshome.html文件写入内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>home模板</title>
</head>
<body>
<p> 欢迎进入home页面
<hr>
<a href="demo" > 点击跳转demo页面 </a>
</p>
</body>
</html>
helloworldhelloviews.py文件写入内容
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
# def home(request):
# return HttpResponse("hello")
def home(request):
return render(request, 'home.html')
def demo(request):
return render(request, 'demo.html')
helloworldhelloworldurls.py文件写入内容
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from hello import views
urlpatterns = [
path('admin/', admin.site.urls),
url('^demo$', views.demo),
url('^home$', views.home),
]
这样就实现了从home.html页,点击某个超链接跳转demo.html页
我们目前是把<a href="demo" > 点击跳转demo页面 </a>在home.html页写四的,如果多个页面都用到这个链接时,地址发生变化了,修改的地方就太多了,维护成本太高,这时候我们就可以给url标记上唯一的名字,也就是name参数,接下来在url配置里加个name名称,由原来的url('^demo
helloworldhelloworldurls.py文件更新为:
urlpatterns = [
path('admin/', admin.site.urls),
url('^demo$', views.demo,name="Demo"),
url('^home$', views.home),
]
对于像<a>这样链接的操作用法:
不带参数的:{% url 'name' %}
带参数的:参数可以是变量名 {% url 'name' 参数 %}
home.html里<a href="demo" > 点击跳转demo页面 </a>变更为<a href={% url 'Demo' %} > 点击跳转demo页面 </a>
helloworldhellotemplateshome.html文件更新为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>home模板</title>
</head>
<body>
<p> 欢迎进入home页面
<hr>
<a href={% url 'Demo' %} > 点击跳转demo页面 </a>
</p>
</body>
</html>
所以这里的改变为:url('^demo$', views.demo,name="Demo")(对于其他部分自动补脑),在<a href={% url 'Demo' %} > 点击跳转demo页面 </a> 解释:{% url 'Demo' %}这里的Demo'代表着这个url自动去寻找django的url里面name="Demo'"这条链接,并将找到的url -demo.html赋值给<a>标签中的href,当链接发生变化,我们只需要更新urls.py里面的'^demo$'就可以了。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法