zoukankan      html  css  js  c++  java
  • [py]django url 参数/reverse和HttpResponseRedirect

    参考

    需要完成以下任务

    - 访问http://127.0.0.1:8000/                  返回"hello maotai"或home.html
    - 访问http://127.0.0.1:8000/add/?a=1&b=2      返回之和
    - 访问http://127.0.0.1:8000/add2/2/3          返回值和
    - 访问http://127.0.0.1:8000/add2_v2/2/3       跳转到add2,并返回之和
    

    项目代码实现

    views.html书写

    views.html
    
    #### 返回字符串
    def index(request):
        return HttpResponse("hello maotai")
    
    #### url参数 ?a=1&b=2 方式传参
    def add(request):
        a = request.GET['a']
        b = request.GET['b']
        c = int(a) + int(b)
        return HttpResponse(c)
    
    #### url参数/2/3 方式传递
    def add2(request, a, b):
        c = int(a) + int(b)
        return HttpResponse(str(c))
    
    
    #### 重定向到add2, url的cname
    #### 模板解析也用到了reverse函数,解析谁? 解析html,将解析到的结果返回
    def add2_v2(request, a, b):
        return HttpResponseRedirect(reverse('add2', args=(a, b)))
    
    #### 返回html
    def home(request):
        return render(request, "home.html")
    
    

    urls.py

    urlpatterns = [
        path('', views.index),
        path('home/', views.home),
        path('add/', views.add),
        path('add2/<int:a>/<int:b>', views.add2, name='add2'),
        path('add2_v2/<int:a>/<int:b>', views.add2_v2, name='add2_v2'),
        path('admin/', admin.site.urls),
    ]
    

    home.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>home</title>
    </head>
    <body>
    <!-- url写死 -->
    {#<a href="/add2/2/3">add 2+3 </a>#}
    
    <!-- url写活 最终解析/add2/4/5 -->
    <a href="{% url 'add2' 4 5 %}">add2 4+5 </a> <br>
    <a href="{% url 'add2_v2' 4 5 %}">add2_v2 4+5 </a>
    </body>
    </html>
    
  • 相关阅读:
    创建类以及引用一个类
    修改hosts文件
    微信第三方登录接口开发
    Android定位
    Leetcode 102. Binary Tree Level Order Traversal
    Leetcode 725. Split Linked List in Parts
    Leetcode 445. Add Two Numbers II
    Leetcode 328. Odd Even Linked List
    Leetcode 237. Delete Node in a Linked List
    Leetcode 234. Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/iiiiiher/p/8335763.html
Copyright © 2011-2022 走看看