zoukankan      html  css  js  c++  java
  • django -- url (模版语言 {% url 'test1' param1=5 param2=6 %})

    如果想让form表单提交的url是类似 action="/index-5-6.html" 这样的,可以在html模版语言中使用{% url 'test1' param1=5 param2=6 %}

    urls.py

    from django.conf.urls import url, include
    from mytest import views
    
    urlpatterns = [
        url(r'^index-(?P<param1>d+)-(?P<param2>d+).html', views.index, name='test1'),
    ]
    

    views.py

    from django.http import HttpResponse
    from django.shortcuts import render
    from django.views import View
    
    
    
    def index(req, param1, param2):
        return render(req, 'index.html')
    

    html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <form action="{% url 'test1' param1=5 param2=6 %}" method="post">
            <input type="text" name="A" />
            <input type="submit" name="b" value="提交" />
        </form>
    </body>
    </html>
    

    注:

    这种方式只能返回一个写死的url,不管前端访问时传过来的是什么,form表单提交的url都是固定的。按上面的例子,提交的url始终都是 action="/index-5-6.html"

     

    如果想返回和request.path_info效果一样的url,可以使用reverse。

    urls.py

    from django.conf.urls import url
    from mytest import views
    
    urlpatterns = [
        url(r'^index-(?P<param1>d+)-(?P<param2>d+).html', views.index, name='test1'),
    ]
    

    views.py

    from django.http import HttpResponse
    from django.shortcuts import render
    
    
    def index(req, param1, param2):
        from django.urls import reverse
        x = reverse('test1', kwargs={'param1': param1, 'param2': param2})
        return render(req, 'index.html', {'url1': x, })
    

    html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <form action="{{ url1 }}" method="post">
            <input type="text" name="A" />
            <input type="submit" name="b" value="提交" />
        </form>
    </body>
    </html>
    

      

  • 相关阅读:
    百度之星资格赛1001——找规律——大搬家
    HDU1025——LIS——Constructing Roads In JGShining's Kingdom
    DP(递归打印路径) UVA 662 Fast Food
    递推DP UVA 607 Scheduling Lectures
    递推DP UVA 590 Always on the run
    递推DP UVA 473 Raucous Rockers
    博弈 HDOJ 4371 Alice and Bob
    DFS(深度) hihoCoder挑战赛14 B 赛车
    Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)
    DP(DAG) UVA 437 The Tower of Babylon
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/6524433.html
Copyright © 2011-2022 走看看