码迷,mamicode.com
首页 > 其他好文 > 详细

有名无名分组,反向注释

时间:2018-11-07 16:02:26      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:rgs   django   files   解析   协议   weight   cut   group   一个   

新加一个app要在INSTALLED_APPS中

输入: 1、app01.apps.app01Config   

     2、app01    把MIDDLEWARE中的第四句给注释掉

 

这是和static文件夹对应的

STATICFILES_DIRS=[

   os.path.join(BASE_DIR,‘static‘)

]

Django请求的整个生命周期

用户浏览器--》web服务器(wsgi协议)---》url(路由层)—》视图层(视图函数)———》模板层、数据操作    操作完之后再返回回去

视图层中的操作

1、视图函数从数据操作层(models)取数据

2、取到数据进行数据逻辑处理

3、从模板层取出模板,用数据进行渲染

4、将渲染好的html模板,返回给用户浏览器

urlpatterns = [     
    url(r‘^admin/$‘, admin.site.urls),
]
url是函数 ,r‘^admin/‘是正则 ^是以a开头 $是以n结尾

publish/匹配四位数字
url(r‘^publish/[0-9]{4}/$‘, views.publish),

匹配任意长度的数字
url(r‘^publish/\d+/$‘, views.publish),

import re
ret=re.search(‘publish/(?P<year>[0-9]{4})/(?P<mounth>[0-9]{2})‘,‘publish/2018/12/eee‘)
print(ret.group()) 得到publish/2018
print(ret.group(1)) 得到2018
print(ret.group(2)) 得到12

无名分组:
分组之后,会把分组出来的数据,当参数,传到视图函数,视图函数需要定义形参
- url(r‘^publish/([0-9]{4} / (0-9){2})$‘, views.publish),
在views文件中
def publish(request,year,mounth): 中可以打印出来年份和月份 按位置进行传值
def publish(request,*args): 括号中也可以输入*args 结果是(‘2018’,‘12’)或是**kwargs这样的结果是以字典的形式显示出来
有名分组:
-- 按关键字传参
-- 有名分组之后,会把分组出来的数据,当关键字参数,传到视图函数,所以视图函数需要定义形参,形参名字
要跟分组的名字对应,与顺序无关
ret=re.search(‘publish/(?P<year>[0-9]{4})/(?P<mounth>[0-9]{2})‘,‘publish/2018/12/eee‘)
?P<year>给参数取名为year
print(ret.group())  得到publish/2018
print(ret.group(1)) 得到2018
print(ret.group(2)) 得到12
有名分组和无名分组不能混用

 反向解析

 先命一个名:url(r‘^publishadd133/$‘, views.publishadd,name=‘ddd‘),

 在模板层:{ % url ‘ddd‘ %}

 在视图层:

   from  django.shortcuts import reverse

    在视图函数里:

    url = reverse(‘ddd‘)

路由分发:

  1、在不同的app里创建urls.py

  2、在总路由

      -- from django.conf.urls import  include

      -- url(r‘^blog/‘, include(‘blog.urls‘)) ,

      -- url(r‘^app01/‘, include(‘app01.urls‘)) ,

  3 在不同的app的urls里配置路由关系, 总路由 不能加结束符$(结束符)

名称空间:

  总路由:

   url(r‘^blog/‘,include(‘blog.urls‘,namespace=‘blog‘)),

   url(r‘^app01/‘,include(‘app01.urls‘,namespace=‘app01‘)),

  app01 中的urls.py

   url(r‘^publish/$‘, views.publish,name=‘app01_test‘),

  blog 中的urls.py

   url(r‘^blogtest/$‘, views.test,name=‘test‘),

  模板:

<a href="{% url ‘app01:test‘ year=2018 mounth=12 %}">点我</a>

伪静态:

   -路由: url(r ‘ ^book / (?P<id>\d+.html) ‘, views.book),

   -访问: http://127.0.0.1:8000/book/4.html

 要是后面少了html就找不到页面  没有html 的是动态页面,有html的是静态页面

  

 

有名无名分组,反向注释

标签:rgs   django   files   解析   协议   weight   cut   group   一个   

原文地址:https://www.cnblogs.com/zhouhao123/p/9922905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!