加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Django URL (路由系统)

发布时间:2020-12-17 16:59:24 所属栏目:Python 来源:网络整理
导读:URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 1 2 3 urlpatterns = [ ???? url(正则表达式,views视图函

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

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

参数说明:

  • 一个正则表达式字符串

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

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

  • 一个可选的name参数

URL路由示例

from?django.conf.urls?import?url
from?django.contrib?import?admin

from?app01?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})/$',??#no_named?group

????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),]


Name Group(有名分组)

import?re

ret=re.search('(?P<id>d{3})/(?P<name>w{3})','weeew34ttt123/ooo')

print(ret.group())
print(ret.group('id'))
print(ret.group('name'))

注意:使用有名分组,必须要视图函数的形参和分组名字相同,否则django无法识别

jinja模板使用别名

virws.py

def?register(req):
????return?HttpResponse('hello')
????

urls.py

urlpatterns?=?[
????url(r'^register/',?views.register,name="reg"),]

register.html

<body>
????<form?action="{%?url?'reg'?%}"?method="post">
????????<p>姓名</p><input?type="text"?name="user"></p>
????????<p><input?type="submit">提交</p>
????</form>
</body>

路由分发

案列:

blog/urls.py?

urlpatterns?=?[
????url(r'^show_time/',?views.show_time),????url(r'^register/',]

urls.py

from?django.conf.urls?import?url,include
from?django.contrib?import?admin
from?blog?import?views

urlpatterns?=?[
????url(r'^admin/',?admin.site.urls),????url(r'^blog/',?include('blog.urls')),]


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读