zoukankan      html  css  js  c++  java
  • Django测试开发-8-urls.py详细配置规则

    一、url配置规则:path,re_path,url支持的不同

    """
    1.path:只能匹配绝对路径地址,不支持正则匹配
    
    2.re_path:支持正则匹配,Django1.x经常使用
    
    3.url:支持正则匹配,实际上就是return re_path Django2.x经常使用
    
    
    """

    二、通过url获取参数

    如下url:

    http://127.0.0.1:8000/vote/page=1

    urls.py

    urlpatterns = [
    
       
        url(r'^page=(d+)$',views.page)
        
    ]
    
    # 使用正则匹配页码数

    views.py

    def page(request,num):
    
        try:
            print(type(num))
    # 参数接收到的是str类型,需要转换成对应的int 类型
            num = int(num)
            if num == 1:
                return render(request,"h1.html")
            else :
                return render(request,"h2.html")
    
        except :
            raise Http404
    h1.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>h1</title>
    </head>
    <body>
    
        <h1>我是H1页面</h1>
    
    </body>
    </html>
    h2.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>h2</title>
    </head>
    <body>
        <h2>我是H2页面</h2>
    </body>
    </html>

    工程下urils.py

    urlpatterns = [
    
        path('vote/',include("vote.urls"))
    
    ]

    工程下settings.py

    # 修改DIRS为 html路径
    'DIRS': [BASE_DIR + '/vote/views'],
            

    浏览器输入:http://127.0.0.1:8000/vote/page=1

    三、页面跳转,从一个页面跳转至另一个页面

    页面1=home

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>home</title>
    </head>
    <body>
    
    <p>{{ year }}--------->{{ month }}</p>
    
    <a href="http://127.0.0.1:8000/vote/mypage">点击跳转至我的页面></a>
    
    </body>
    </html>

    views.py

    def home(request,year,month):
    
        return render(request,"datetime.html",{"year":year,"month":month})
    
    def my_page(request):
    
        return HttpResponse("这是我的页面---------->mypage")

    urls.py

    urlpatterns = [
    
        
        url(r"^page/(?P<year>[0-9]{4})/(?P<month>[0-1][0-9])",views.home,name="date"),
        url(r"^mypage$",views.my_page)
    ]

    浏览器输入:http://127.0.0.1:8000/vote/page/2018/12

     跳转:

  • 相关阅读:
    19_多态及引用类型的转化
    18_接口以及基本实现
    17_super关键字 超,基,父
    Static 关键字
    17_抽象类
    17_继承
    数 函数类 Math类
    ArrayList类 Arrays类 注释
    我的第一篇博客
    hdu 3478 Catch--二分图判断
  • 原文地址:https://www.cnblogs.com/chushujin/p/12421957.html
Copyright © 2011-2022 走看看