首页 > Web开发 > 详细

029:url标签使用详解

时间:2019-12-24 14:49:10      阅读:85      评论:0      收藏:0      [点我收藏+]

url标签使用详解:

在模版中,我们经常要写一些 url ,比如某个 a 标签中需要定义 href 属性。当然如果通过硬编码的方式直接将这个 url 写死在里面也是可以的。但是这样对于以后项目维护可能不是一件好事。因此建议使用这种反转的方式来实现,类似于 django 中的 reverse 一样。示例代码如下:

<a href="{% url ‘book:list‘ %}">图书列表页面</a>

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

# path部分
path(detail/<book_id>/,views.book_detail,name=detail)
# url反转,使用位置参数
<a href="{% url ‘book:detail‘ 1 %}">图书详情页面</a>
# url反转,使用关键字参数
<a href="{% url ‘book:detail‘ book_id=1 %}">图书详

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

<a href="{% url ‘book:detail‘ book_id=1 %}?page=1">图书详情页面</a>

如果需要传递多个参数,那么通过空格的方式进行分隔。示例代码如下:

<a href="{% url ‘book:detail‘ book_id=1 page=2 %}">图书详情页面</a>

实例代码如下:

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
    <li><a href="/">首页</a></li>
    <li><a href="{% url ‘book‘ %}">书籍</a></li>
    <li><a href="{% url ‘city‘ %}">城市</a></li>
    {#    多个参数就是使用空格分开    #}
    <li><a href="{% url ‘movie‘ myid=‘5‘ youid=‘8‘ %}">电影</a></li>
    {#    查询字符串只能在后添加  例如:   ?next=/    #}
    <li><a href="{% url ‘login‘ %}?next=/">登陆</a></li> </ul> </body> </html>

views.py:

# -*- coding: utf-8 -*-
from django.shortcuts import render
from django.http import HttpResponse

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

def book(request):
    return HttpResponse(书籍)

def login(request):
    next = request.GET.get(next)
    text = 你输入的url是:%s % next
    return HttpResponse(text)

def city(request):
    return HttpResponse(城市)

def movie(request, myid, youid):
    text = 你输入的电影分类是:%s; %s % (myid, youid)
    return HttpResponse(text)

urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path(‘‘, views.index, name=index),
    path(book/, views.book, name=book),
    path(city/, views.city, name=city),
    path(movie/<myid>/<youid>/, views.movie, name=movie),
    path(login/, views.login, name=login),
]

029:url标签使用详解

原文:https://www.cnblogs.com/Carlos-Li/p/12091247.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!