名稱空間與虛擬環境
阿新 • • 發佈:2022-03-02
名稱空間與虛擬環境
名稱空間
當多個應用出現相同的別名時,正常情況下的反向解析是沒有辦法自動識別字首的,這種情況下就需要用到名稱空間
總路由
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直譯器
虛擬環境不要建立太多,是需要消耗硬碟空間的
虛擬環境建立