URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。

    '''
    
    urlpatterns = [
         url(正则表达式, views视图函数,参数,别名),
]


参数说明:

    一个正则表达式字符串
    一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
    可选的要传递给视图函数的默认参数(字典形式)
    一个可选的name参数 

    '''

正则字符串参数

1 简单配置

from django.conf.urls import url

from . import views

urlpatterns = [
  url(r'^admin/', admin.site.urls),   #系统生成的映射
 url(r"^$",views.index),  #访问http://127.0.0.1:8000时,调用index视图函数,根目录地址访问 url(r
'^articles/2003/$', views.special_case_2003),  #表示articles/2003/这个路径映射views模块的special_case_2003函数 url(r'^articles/([0-9]{4})/$', views.year_archive),  #表示匹配4个0-9的任意数字 url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive), url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail), ]

#注意:上面匹配都加了小括号,这些括号里面的值会当作参数传递到后面的视图函数中
'''
    NOTE:
    1 一旦匹配成功则不再继续
    2 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。
    3 不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。
    4 每个正则表达式前面的'r' 是可选的但是建议加上。

一些请求的例子:

    /articles/2005/3/ 不匹配任何URL 模式,因为列表中的第三个模式要求月份应该是两个数字。
    /articles/2003/ 将匹配列表中的第一个模式而不是第二个,因为模式按顺序匹配,第一个会首先测试是否匹配,匹配成功则不再进行匹配。
    /articles/2005/03/ 请求将匹配列表中的第三个模式。
              Django 将调用函数  views.month_archive(request, '2005', '03')。 按位置传参
'''
#设置项是否开启URL访问地址后面不为/跳转至带有/的路径
APPEND_SLASH=True
SLASH

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2022-12-23
  • 2021-09-08
  • 2021-10-11
  • 2021-08-07
  • 2021-09-13
猜你喜欢
  • 2021-12-28
  • 2022-01-24
  • 2022-12-23
  • 2022-03-09
  • 2022-12-23
  • 2021-09-28
  • 2022-12-23
相关资源
相似解决方案