zoukankan      html  css  js  c++  java
  • django 2.0 path

    一  2.几 和1.几 的区别

    1. django2.几的re_path和1.几的url一样
    2. 2.几多了一个path,不支持正则

    二  2.0 path

    from django.urls import path  
    from . import views  
    urlpatterns = [  
        path('articles/2003/', views.special_case_2003),  
        path('articles/<int:year>/', views.year_archive),  
        path('articles/<int:year>/<int:month>/', views.month_archive),  
        path('articles/<int:year>/<int:month>/<slug>/', views.article_detail),  
      # path才支持,re_path不支持
      path('order/<int:year>',views.order),
    ]

    基本规则:

    • 使用时导入  from django.urls import path
    • 不支支持正则 , 精准匹配
    • 使用尖括号 <> 从url中捕获值
    • 捕获值中可以包含一个转换器类型,比如使用 <int:year> 捕获一个整数变量

    path转换器

    Django默认有5个转换器:

    • str ,匹配除路径分割符(/)之外的非空字符串,这是默认形式
    • int ,匹配正整数,包含0
    • slug, 匹配字母、数字以及斜杠、下划线组成的字符串
    • uuid,匹配格式化的uuid,如:075194d3-6885-417e-a8a8-6c931e272f00
    • path,匹配任何非空字符串,包含路径分隔符(/)(不能用?)

    自定义转换器

    1 写一个类:(使用时候直接复制过来 改regex即可)
    class Test:
        regex = '[0-9]{4}'
        def to_python(self, value): 
            # 写一堆处理
            value=value+'aaa'
            return value
        def to_url(self, value):
            return '%04d' % value  
    2 from django.urls import register_converter
    3 register_converter(Test,'ttt'4 path('index/<ttt:year>', views.index,name='index'),

    要求:

    • regex 类属性,字符串类型
    • to_python(self, value) 方法,value是由类属性 regex 所匹配到的字符串,返回具体的Python变量值,以供Django传递到对应的视图函数中。
    • to_url(self, value) 方法,和 to_python 相反,value是一个具体的Python变量值,返回其字符串,通常用于url反向解析使用。
  • 相关阅读:
    基于DCT系数的实时监控中运动目标检测
    智能视频分析中的光照强度突然变化的处理方法
    《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果及其他。
    mysql流程控制语句
    mysql中变量
    mysql中触发器
    mysql中(存储)函数
    mysql中存储过程
    mysql中视图
    mysql中一些表选项
  • 原文地址:https://www.cnblogs.com/kingyanan/p/9606701.html
Copyright © 2011-2022 走看看