zoukankan      html  css  js  c++  java
  • 029:url标签使用详解

    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'),
    ]


  • 相关阅读:
    spring_three
    报错:java.sql.SQLException: The server
    Spring_two
    Spring_One
    Mybatis中的collection和association一关系
    Mybatis_three
    文件操作1
    面向对象编程三大特征7
    面向对象编程三大特征6
    面向对象编程三大特征5
  • 原文地址:https://www.cnblogs.com/zheng-weimin/p/10171680.html
Copyright © 2011-2022 走看看