目录:
url基本格式
url配置的本质是url与要为该url调用的视图函数之间的映射表
基本格式(1.*版本)
from django.conf.urls import url
urlpatterns = [
url(正则表达式, views视图函数,参数,别名),
]
参数说明
- 正则表达式:一个正则表达式字符串
- views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
- 参数:可选的要传递给视图函数的默认参数(字典形式)
- 别名:一个可选的name参数
django2.0语法区别
django2.X版本中有一个叫re_path()
ps:2.x中re_path就等价于1.x中的url
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:slug>/', views.article_detail),
]
虽然path不支持正则表达式,但是它提供了五种转换器 (了解)
路径转换器
下列五种默认的转换器(官档翻译)
- str - 匹配任意非空字符串,除了路径分隔符‘/’,当转换器没有包括在表达式时,这是默认的。
- int - 匹配零或任意正整数。返回一个int
- slug - 匹配由ASCII字母或数字组成的任何slug字符串,以及连字符和下划线字符。 例如: building-your-1st-django-site 。
- uuid - 匹配格式化的UUID。 要防止多个URL映射到同一页面,必须包含短划线,并且字母必须为小写。 例如: 075194d3-6885-417e-a8a8-6c931e272f00。 返回一个UUID实例。
- path - 匹配任何非空字符串,包括路径分隔符’/’。 这允许您匹配完整的URL路径,而不是像str一样匹配URL路径的一部分。