zoukankan      html  css  js  c++  java
  • django 基于正则表达式的url

    方式一:

    urls.py

    from mytest import views
    
    urlpatterns = [
        url(r'^index-(d+)-(d+).html', views.Index.as_view()),
    ]
    

    views.py

    from django.http import HttpResponse
    from django.shortcuts import render
    from django.views import View
    
    
    class Index(View):
    
        def get(self, req, param1, param2):
            print(param1, param2)
            return HttpResponse(param1+'--'+param2)
    
        def post(self, req):
            pass
            return render(req, 'index.html')
    

    当访问url : http://127.0.0.1:8000/index-3-4.html   

    返回

    这样我们看到,将url中传递的参数“3”和“4”取到并输出了。

    方式二:

    urls.py

    from mytest import views
    
    urlpatterns = [
        url(r'^index-(?P<param2>d+)-(?P<param1>d+).html', views.Index.as_view()),
    ]
    

    views.py 不变

    返回结果:

    这样相当于是固定将第一个数字传给param2,第二个数字传给param1,因此不用管形参的位置在哪里。

    另外:

        如果参数较多的话可以使用万能参数,例如:

        def index(req, *args, **kwargs):

          pass

    这样不管url传递了几个参数都没有问题了。

    *args 将参数封装为元组

    **kwargs 将参数封装为字典

  • 相关阅读:
    ssh
    ssh免密码登陆
    滑雪[dp]
    Help Jimmy[dp]
    动态规划 [子序列问题]
    最佳加法表达式 [dp]
    求排列的逆序数[归并排序]
    输出前m大个数,时间复杂度O(n+mlog(m)) [快排]
    不会递归?五道例题教你如何递归
    函数模板的琐碎笔记
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/6514710.html
Copyright © 2011-2022 走看看