您的当前位置:首页正文

初识Django框架的路由系统

2024-07-17 来源:客趣旅游网

路由层:(Django的路由系统)

URL配置(Django项目urls.py路由文件):

就像Django所支撑网站的目录,它的本质是URL与要为该URL调用的视图函数之间的映射表。

以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。

 urls.py配置基本格式:

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.index),
    url(r'^index/', views.index, name='index'),
]
url(正则表达式, views视图函数,参数,别名)

相关推荐:《》

参数说明:

正则表达式:一个正则表达式字符串。

views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串。

参数:可选的要传递给视图函数的默认参数(字典形式)。

别名:一个可选的name参数。

正则表达式详解:

from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'^articles/2003/$', views.special_case_2003),
    url(r'^articles/([0-9]{4})/$', views.year_archive),
    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),
]

注意事项:

urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续。

若要从URL中捕获一个值,只需要在它周围放置一对圆括号(分组匹配)。

不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。

每个正则表达式前面的'r' 是可选的但是建议加上。

显示全文