• Django路由系统---url无命名分组


    django重点之url无命名分组[参数有顺序要求]

    settigs.py:增加STATICFILES_DIRS静态资源路径配置,名称为创建的文件夹名称

    'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 设置templates的路径为Django以前版本
    # 'DIRS': [],      # 注释掉该行,此为Django 2.0.1最新版本
    # 'django.middleware.csrf.CsrfViewMiddleware',
             ...省略默认配置
    STATIC_URL = '/static/'
    TEMPLATE_DIRS = (os.path.join(BASE_DIR,  'templates'),)  # 原配置
    # 静态资源文件
    STATICFILES_DIRS = (os.path.join(BASE_DIR, "statics"),)   # 现添加的配置,这里是元组,注意逗号

    templates/func.html/ func1.html/ func2.html

    <!DOCTYPE html>
    <html lang="en">
    <head> <meta charset="UTF-8"></head>
    <body>
        <!-- func.html -->
        <p id="h1">无命名分组[参数无顺序要求]</p>
        <!-- func1.html -->
        <h1 id="h1" style="color:red">无命名分组[参数无顺序要求]<br> 
            返回正则匹配结果是:{{ year }}年
        </h1>
        <!-- func2.html -->
        <h1 id="h1" style="color:red">无命名分组[参数无顺序要求]<br> 
            返回正则匹配结果是:{{ year }}年{{ month }}月
        </h1>
    </body>
    </html>

    mysite2/urls.py

    from django.contrib import admin
    from django.urls import path
    from blog import views
    from django.conf.urls import url
    urlpatterns = [
    # 正则需要配合URL函数来进行,path在测试中无法匹配正则
    # url(r'^year', views.func),  # 绝对路径匹配
    url('^year/[0-9]{4}/$', views.func),  # 正则表达式匹配
    url(r'^only_year/([0-9]{4})/$', views.func1),  # 用小括号括起来的的匹配,可以无名传值给函数    url(r'^year_month/([0-9]{4})/([0-9]{2})/$', views.func2), # 用2个括号括起来,可以2个传值给函数
    ]

    views.py

    from django.shortcuts import render, HttpResponse
    import datetime
    
    # 绝对值匹配/正则匹配
    def func(request):
        return render(request, "func.html")
    
    # 无命名匹配,返回一个参数
    def func1(request, year):
        return render(request, "func1.html", {"year": year})
    
    # 无命名匹配,返回2个参数
    # def func2(request, year, month):
    def func2(request, month,year):  # 无顺序要求,可以更换位置
        # 此时的month代表第一个括号内的参数,year代表第二个括号内参数
        return render(request, "func2.html", {"year": year, "month": month}) 

    页面显示:

    image_thumb

    更换传递给函数参数位置后的结果显示:

    image_thumb[1]

  • 相关阅读:
    [杂七杂八][高效程序员应该养成的七个习惯][转载]
    链表反转,只用两次头插法就实现了 hello
    清除空格 hello
    单词计数 hello
    单词查找程序 hello
    sdut 超级玛丽
    ural Episode Nth: The Jedi Tournament(缩点+建树)
    sudt 括号东东(模拟题)
    ural Pilot Work Experience(dfs + bfs )
    ural Team building(强连通分支)
  • 原文地址:https://www.cnblogs.com/ftl1012/p/9398155.html
Copyright © 2020-2023  润新知