路由分发 """简介Django是专注于开发应用的,当一个Django项目特别庞大的时候所有的路由与视图函数映射关系全部写在总的urls.py很明显太冗余不便于管理其实Django中的每一个应用都可以
路由分发
"""
简介
Django是专注于开发应用的,当一个Django项目特别庞大的时候
所有的路由与视图函数映射关系全部写在总的urls.py很明显太冗余不便于管理
其实Django中的每一个应用都可以有自己的urls.py,static文件夹,templates文件夹。
基于上述特点,使用Django做分组开发非常的简便
每个人只需要写自己的应用即可
最后由组长统一汇总到一个空的Django项目中国然后使用路由分发将多个应用关联到一起
"""
复杂版本
from app01 import urls as app01_urls
from app02 import urls as app02_urls
# 路由分发 复杂版本
url(r'^app01/',include(app01_urls))
url(r'^app02/',include(app02_urls))
"""总路由最后千万不能加$"""
# 进阶版本
url(r'^app01/',include('app01.urls')),
url(r'^app02/',include('app02.urls')),
名称空间
"""
当多个应用在反向解析的时候如果出现了别名冲突的情况,那么无法自动识别
"""
解决方式1 >>> 名称空间
总路由
url(r'^app01/',include('app01.urls',namespace='app01'))
url(r'^app02/',include('app02.urls',namespace='app02'))
reverse('app01:index_name')
reverse('app02:index_name')
<a href="{% url 'app01:index_name' %}">app01</a>
<a href="{% url 'app02:index_name' %}">app02</a>
解决方式2 >>> 别名不能冲突(加上自己应用名作为前缀)
url(r'^index',views.index,name='app01_index_name')
url(r'^index',views.index,name='app02_index_name')
伪静态
动静态网页
将url地址模拟成html结尾的样子,看上去像是一个静态文件、
目的是为了增加搜索引擎收藏我们网站的概率以及seo查询几率
ps:再怎么优化都不如RMB玩家!!!
本地虚拟环境
"""
在项目开发过程中,我们会给不同的项目配备不同的环境
项目用到什么就装什么,用不到的一概不装
不同的项目解释器环境都不一样
"""
requirements.txt 项目所有的模块以及模块所对应的版本
很多 Python 项目中经常会包含一个 requirements.txt 文件,里面内容是项目的依赖包及其对应版本号的信息列表,即项目依赖关系清单,其作用是用来重新构建项目所需要的运行环境依赖,比如你从 GitHub 上 clone 了一个 Python 项目,通常你会先找到 requirements.txt 文件,然后运行命令 pip install -r requirements.txt 来安装该项目所依赖的包。
同样,你也可以在你的项目目录下运行命令 pip freeze > requirements.txt 来生成 requirements.txt 文件,以便他人重新安装项目所依赖的包。
创建虚拟环境类似于你重新下载了一个纯净的python解释器
如果反复创建类似于反复下载,会消耗一定的硬盘空间
ps:我们目前不推荐你使用虚拟环境,所有的模块统一下载到本地