Python中url标签使用知识点总结


Posted in Python onJanuary 16, 2020

1.在模板中,我们经常要使用一些url,实现页面之间的跳转,比如某个a标签中需要定义href属性。当然如果通过硬编码的方式直接将这个url固定在里面也是可以的,但是这样的话,对于以后进行代码的维护,可能就比较麻烦,因此建议使用这种动态的方式来实现,类似于django中reverse一样。示例代码如下:

<li><a href="/">首页</a></li>
{# 此时采用动态获取url的方式,使用url标签可以在DTL模板中动态获取url,#}
{# 而使用reverse()函数,可以在Django中动态获取url标签,将视图函数进行反转,得到url. #}
 <li><a href="{% url 'book' %}">读书</a></li>
 <li><a href="{% url 'movie' %}">电影</a></li>
 <li><a href="{% url 'city' %}">同城</a></li>

2.如果url进行反转的时候,需要传递参数,那么就可以在后面传递,但是参数有位置参数和关键字参数。位置参数和关键字参数不能同时使用。示例代码如下:

{# url反转,使用位置参数,但是关键字参数和位置参数不能同时使用 #}
 <li><a href="{% url 'detal' 1 %}"></a></li>
 
{# url反转,使用关键字参数 #}
{# 接收url中传递参数,可以在url中直接传递参数,并且指定参数的值,但是此时=两边不能有空格,否者的话,不能识别 #}
 <li><a href="{% url 'detail' book_id='3' %}">最火的一篇文章详情</a></li>

3.如果要在使用url标签反转的时候要传递查询字符串的参数,那么必须要手动在后面添加,示例代码如下:

{# 在模板中使用查询字符串的形式添加参数,此时就只能和reverse()函数一样,只能手动的添加,使url进行拼接。 #}
{# 实现登录成功之后跳转到首页 #}
 <li><a href="{% url 'login' %}?next=/">登录</a></li>

4.如果要传递多个参数,那么可以通过空格的方式进行分割,示例代码如下:

<li><a href="{% url 'detail' book_id='3' author='小蚂蚁' %}">最火的一篇文章详情</a></li>

以下是完整代码实现:

views.py代码如下:

from django.http import HttpResponse
from django.shortcuts import render


def index(request):
 return render(request,'index.html')


# 定义登录视图函数
def login(request):
 next = request.GET.get('next')
 text = "登录完成后,要跳转的页面是:%s" % next
 return HttpResponse(text)


def book(request):
 return HttpResponse('图书页面')


# 在进行访问url的时候进行传递参数视图,直接传入一个参数
def book_detail(request,book_id,author):
 text = '您输入的图书id是:%s,作者是:%s' % (book_id,author)
 return HttpResponse(text)


def movie(request):
 return HttpResponse('电影页面')


def city(request):
 return HttpResponse("同城页面")

index.html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  .nav {
   overflow: hidden;
  }
  .nav li {
   float: left;
  {# 将li标签前面的圆点去掉 #}
   list-style: none;
   {# 定义li标签之间的外边距,上下为0,左右为20px #}
   margin: 0 20px;
  }
 </style>
</head>
<body>
<ul class="nav">
 <li><a href="/">首页</a></li>
{# 此时采用动态获取url的方式,使用url标签可以在DTL模板中动态获取url,#}
{# 而使用reverse()函数,可以在Django中动态获取url标签,将视图函数进行反转,得到url. #}
 <li><a href="{% url 'book' %}">读书</a></li>
 <li><a href="{% url 'movie' %}">电影</a></li>
 <li><a href="{% url 'city' %}">同城</a></li>
{# url反转,使用位置参数,但是关键字参数和位置参数不能同时使用 #}
{# <li><a href="{% url 'detal' 1 %}"></a></li>#}
{# url反转,使用关键字参数 #}
{# 接收url中传递参数,可以在url中直接传递参数,并且指定参数的值,但是此时=两边不能有空格,否者的话,不能识别 #}
 <li><a href="{% url 'detail' book_id='3' author="小蚂蚁" %}">最火的一篇文章详情</a></li>
{# 在模板中使用查询字符串的形式添加参数,此时就只能和reverse()函数一样,只能手动的添加,使url进行拼接。 #}
{# 实现登录成功之后跳转到首页 #}
 <li><a href="{% url 'login' %}?next=/">登录</a></li>
</ul>
</body>
</html>

视图函数与url之间的映射:
urls.py代码如下:

from django.urls import path
from . import views

urlpatterns = [
 path('',views.index,name = 'index'),
 path('book/',views.book,name = 'book'),
 path('movie/',views.movie,name = 'movie'),
 path('city/',views.city,name = 'city'),
 path('book/detail/<book_id>/<author>/',views.book_detail,name = 'detail'),
 path('login/',views.login,name = 'login'),

]

浏览器中查看结果:

Python中url标签使用知识点总结

Python中url标签使用知识点总结

Python中url标签使用知识点总结

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
python代码检查工具pylint 让你的python更规范
Sep 05 Python
Python实现测试磁盘性能的方法
Mar 12 Python
python 全文检索引擎详解
Apr 25 Python
Python整型运算之布尔型、标准整型、长整型操作示例
Jul 21 Python
Python使用SQLite和Excel操作进行数据分析
Jan 20 Python
Python日志模块logging基本用法分析
Aug 23 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
Python各种扩展名区别点整理
Feb 27 Python
Python接口自动化测试的实现
Aug 28 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
Python3接口性能测试实例代码
Jun 20 Python
PyTorch的SoftMax交叉熵损失和梯度用法
Jan 15 #Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 #Python
pytorch的batch normalize使用详解
Jan 15 #Python
pytorch方法测试详解——归一化(BatchNorm2d)
Jan 15 #Python
Python 中@property的用法详解
Jan 15 #Python
Python字符串中删除特定字符的方法
Jan 15 #Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 #Python
You might like
PHP网站提速三大“软”招
2006/10/09 PHP
PHP进程同步代码实例
2015/02/12 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
AngularJS入门之动画
2016/07/27 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
AngularJS中重新加载当前路由页面的方法
2018/03/09 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python轻松实现代码编码格式转换
2015/03/26 Python
Python脚本处理空格的方法
2016/08/08 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
博士研究生自我鉴定范文
2013/12/04 职场文书
企业厂长岗位职责
2013/12/17 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
医学生自我评价
2014/01/27 职场文书
整改通知书格式
2015/04/22 职场文书
阿甘正传观后感
2015/06/01 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python