名称空间与虚拟环境
名称空间与虚拟环境
名称空间
当多个应用出现相同的别名时,正常情况下的反向解析是没有办法自动识别前缀的,这种情况下就需要用到名称空间
总路由
urlpatterns = [ url(r'^admin/', admin.site.urls), 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')
from django.shortcuts import reverse def reg(request): print(reverse('app01:reg')) return HttpResponse('app01:reg')
app02
urlpatterns = [ url(r'^reg/', views.reg, name='reg') ]
from django.shortcuts import render, HttpResponse,reverse # Create your views here. def reg(request): print(reverse('app02:reg')) return HttpResponse('app02:reg')
前端
{% url 'app01:reg' %} {% url 'app02:reg' %}
如何避免这种情况发生
其实只要保证名字不冲突,就没有必要使用名称空间。
一般情况下,有多个app的时候我们在起别名的时候会加上app的前缀,这样的话就能够确保多个app之间名字不冲突的问题
伪静态
就是将一个动态网页伪装成静态网页
伪装的目的在于增大本网站的eso查询力度,并且增加搜索引擎收藏本网站的概率
搜索引擎本质上就是巨大的爬虫程序
实现这种效果只需在urls文件后面添加html即可
urlpatterns = [ url(r'^reg.html', views.reg, name='reg') ]
虚拟环境
每创建一个新的虚拟环境就类似于重新下载了一个纯净的python解释器
虚拟环境不要创建太多,是需要消耗硬盘空间的
虚拟环境创建
有venv表示当前使用的是虚拟环境