zoukankan      html  css  js  c++  java
  • 反向解析示例

    一、name命名示例

    1、定义对应关系 

        url(r'^home666/$', views.home, name="home"), # 给我的url匹配模式起名为 home
        url(r'^test/$', views.test),
    
        # 什么都没有我们默认执行home函数
        url(r'^$', views.home), 

    2定义函数 

    def home(request):
        return render(request, "home.html")
    
    def test(request): return render(request, "test.html"
    home.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <h1>这是在HTML页面把URL写死的结局:</h1>
    <a href="/home/">首页</a>
    <h1>这是在HTML页面把利用反向解析URL的结局:</h1>
    <a href="{% url 'home' 'house' %}">首页</a>
    
    
    </body>
    </html>
    test.html

    home在模板中的使用:

    <h1>这是在HTML页面把URL写死的结局:</h1>
    <a href="/home666/">首页</a>
    <h1>这是在HTML页面把利用反向解析URL的结局:</h1>
    <a href="{% url 'home' %}">首页</a>

    结果:

     

     当把home666改为home667时:

     

     结果为:

      

    以上就是给我们的URL匹配规则起个name名字,一个URL匹配模式起一个名字。

    这样我们以后就不需要写死URL代码了,只需要通过名字来调用当前的URL!!!

    二、name带有参数的示例

    1、定义对应关系 

    # 分组匹配 捕获URL中的值并以位置参数形式传递给视图
    url(r'^home/([a-zA-Z]+)/$', views.home, name="home"),
    
    # 分组命名匹配 捕获URL中的值并以关键字参数形式传递给视图
    url(r'^index/(?P<name>[a-zA-Z]+)/$', views.index, name="index"),
    
    url(r'^test/$', views.test),

    2、定义相关函数

    def home(request, arg):
        return render(request, "home.html")
    
    def test(request):
        # 分组匹配:
        print("首页的url是:", reverse("home", args=("house",)))
    
        print("index的url是:", reverse("index", kwargs={"name": "yimi"}))
        return render(request, "test.html")
    
    
    def index(request, name):
        print(name)
        return HttpResponse("这是index页面!!!")
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <h1>这是首页!!!</h1>
    </body>
    </html>
    home.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <h1>这是在HTML页面把URL写死的结局:</h1>
    <a href="/home/">首页</a>
    
    <h1>这是在HTML页面把利用反向解析URL的结局:</h1>
    <a href="{% url 'home' 'house' %}">首页</a>
    
    <a href="{% url 'index' 'yimi' %}">index</a>
    
    </body>
    </html>
    test.html
    <h1>这是在HTML页面把URL写死的结局:</h1>
    <a href="/home/">首页</a>
    
    <h1>这是在HTML页面把利用反向解析URL的结局:</h1>
    <a href="{% url 'home' 'house' %}">首页</a>
    
    <a href="{% url 'index' 'yimi' %}">index</a>

    结果:

       

  • 相关阅读:
    VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|
    tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
    vs2015终于配置完成了
    Visual Studio 2015 update 3各版本下载地址
    惊艳的cygwin——Windows下的Linux命令行环境的配置和使用
    TensorFlow从入门到实战资料汇总 2017-02-02 06:08 | 数据派
    官方Caffe-windows 配置与示例运行
    ipython notebook 如何打开.ipynb文件?
    Ubuntu16.04 +cuda8.0+cudnn+caffe+theano+tensorflow配置明细
    【CUDA】CUDA开发环境搭建
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/12772932.html
Copyright © 2011-2022 走看看