Django Url设计 小知识点

Posted 小作一个

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django Url设计 小知识点相关的知识,希望对你有一定的参考价值。

mysite/news/urls.py:

from django.conf.urls import url

from . import views

urlpatterns = [
    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),
]

上面的代码将URLs映射作为简单的正则表达式映射到Python的回调函数(视图)。正则表达式通过圆括号来“捕获”URLs中的值。 当一个用户请求一个页面时,Django将按照顺序去匹配每一个模式,并停在第一个匹配请求的URL上。 (如果没有匹配到, Django将调用一个特殊的404视图。)整个过程是极快的,因为正则表达式在加载时编译。

一旦有一个正则表达式匹配上了,Django 将导入和调用对应的视图,它其实就是一个简单的Python函数。 每个视图将得到一个request对象 —— 它包含了request 的meta信息 —— 和正则表达式所捕获到的值。

例如,如果一个用户请求了URL “/articles/2005/05/39323/”,Django将调用函数news.views.article_detail(request, ‘2005‘,‘05‘, ‘39323‘)

 

news.views.py中:

def article_detail(request,year, month, number):

  ......

调用“/articles/2005/05/39323/?day=Monday”, 参数与值得对应关系:

request.GET[‘day‘] == ‘Monday‘

year == 2005

month == 05

number == 39323

 

以上是关于Django Url设计 小知识点的主要内容,如果未能解决你的问题,请参考以下文章

android小知识点代码片段

Django基础核心技术之Model模型的介绍与设计

Django+小程序技术打造微信小程序助手

django-知识系列

Python之路第十八篇Django小项目简单BBS论坛部分内容知识点

python小知识片段