mayrain

路由分发

"""
django的每一个应用都可以有自己的templates文件夹 urls.py static文件夹
正是基于上述的特点 django能够非常好的做到分组开发(每个人只写自己的app)
作为组长 只需要将手下书写的app全部拷贝到一个新的django项目中 然后在配置文件里面注册所有的app再利用路由分发的特点将所有的app整合起来

当一个django项目中的url特别多的时候 总路由urls.py代码非常冗余不好维护
这个时候也可以利用路由分发来减轻总路由的压力

利用路由分发之后 总路由不再干路由与视图函数的直接对应关系
而是做一个分发处理
    识别当前url是属于哪个应用下的 直接分发给对应的应用去处理
    
"""


# 总路由
from app01 import urls as app01_urls
from app02 import urls as app02_urls
urlpatterns = [
    url(r\'^admin/\', admin.site.urls),
    # 1.路由分发
    url(r\'^app01/\',include(app01_urls)),  # 只要url前缀是app01开头 全部交给app01处理
    url(r\'^app02/\',include(app02_urls))   # 只要url前缀是app02开头 全部交给app02处理
  
    # 2.终极写法  推荐使用
    url(r\'^app01/\',include(\'app01.urls\')),
    url(r\'^app02/\',include(\'app02.urls\'))
    # 注意事项:总路由里面的url千万不能加$结尾
]

# 子路由
    # app01 urls.py
  from django.conf.urls import url
  from app01 import views

  urlpatterns = [
      url(r\'^reg/\',views.reg)
  ]
  # app02 urls.py
  from django.conf.urls import url
  from app02 import views

  urlpatterns = [
      url(r\'^reg/\',views.reg)
  ]

名称空间

# 当多个应用出现了相同的别名 我们研究反向解析会不会自动识别应用前缀
"""
正常情况下的反向解析是没有办法自动识别前缀的
"""

# 名称空间
    # 总路由
    url(r\'^app01/\',include(\'app01.urls\',namespace=\'app01\')),
    url(r\'^app02/\',include(\'app02.urls\',namespace=\'app02\'))
  # 解析的时候
      # app01
      urlpatterns = [
    url(r\'^reg/\',views.reg,name=\'reg\')
        ]
    # app02
    urlpatterns = [
    url(r\'^reg/\',views.reg,name=\'reg\')
        ]
    
      reverse(\'app01:reg\')
    reverse(\'app02:reg\')
    
    {% url \'app01:reg\' %}
    {% url \'app02:reg\' %}
# 其实只要保证名字不冲突 就没有必要使用名称空间
"""
一般情况下 有多个app的时候我们在起别名的时候会加上app的前缀
这样的话就能够确保多个app之间名字不冲突的问题
"""
urlpatterns = [
    url(r\'^reg/\',views.reg,name=\'app01_reg\')
]
urlpatterns = [
    url(r\'^reg/\',views.reg,name=\'app02_reg\')
]

伪静态

"""
静态网页
    数据是写死的 万年不变
    
伪静态
    将一个动态网页伪装成静态网页
    
    为什么要伪装呢?
        https://www.cnblogs.com/Dominic-Ji/p/9234099.html
        伪装的目的在于增大本网站的seo查询力度
        并且增加搜索引擎收藏本网上的概率
    
    搜索引擎本质上就是一个巨大的爬虫程序
    
    总结:
        无论你怎么优化 怎么处理
        始终还是干不过RMB玩家
"""
urlpatterns = [
    url(r\'^reg.html\',views.reg,name=\'app02_reg\')
]

 

分类:

技术点:

相关文章: