django下創(chuàng)建多個app并設(shè)置urls方法
1、創(chuàng)建第二個app
假設(shè)我們項(xiàng)目P下面已經(jīng)有了一個默認(rèn)的app,名字是app1。現(xiàn)在我想創(chuàng)建第二個app,名字時app2。
進(jìn)入pychram下的Terminal中,運(yùn)行命令:
python manage.py startapp app2
此外,我在每個app下都建立一個urls.py,方便區(qū)分。
右擊app名,點(diǎn)擊“new”,選擇“Python File”,命名為urls,確定。
2、設(shè)置url.py
(1)設(shè)置Purls.py
引入app2下的urls,然后添加引導(dǎo)路徑。具體代碼如下:
from app2 import urls as app2_urlsurlpatterns = [ path(’app2/’,include(app2_urls)), # 將所有以app2開頭的urls,都交給app2(app名)下的urls.py處理 ]
(2)設(shè)置app2urls.py
from django.urls import pathfrom app2 import viewsurlpatterns = [ path(’index/’, views.index),]
3、編寫app2下的views.py
from django.shortcuts import render,HttpResponse# Create your views here.# 綁定博客def index(request): return HttpResponse(111)
4、html頁面如何調(diào)用url
一般在href或者src中調(diào)用一般這樣寫:
href='http://www.baoyu77737.com/app2/index/' rel='external nofollow'
這樣就OK了。
內(nèi)容擴(kuò)展:
Django項(xiàng)目下創(chuàng)建多個app
基于Django2.0版本建立的項(xiàng)目。
之前在項(xiàng)目下建立app都是單個的,最近由于需求,需要在單個項(xiàng)目下建立多個app,最簡單的方法就是將所有的app都放在與manage.py文件同級的目錄下,但是這樣的方式會顯得項(xiàng)目目錄下的文件夾臃腫,對于強(qiáng)迫癥的而言簡直是一種折磨。
所以我采取了將多個app放在同一個文件夾內(nèi)的方式來解決這種問題。
myDjango ├───.idea │ └───inspectionProfiles ├───Apps │ ├───app01 │ │ ├───migrations │ │ │ └───__pycache__ │ │ └───__pycache__ │ └───app02 │ ├───migrations │ │ └───__pycache__ │ └───__pycache__ ├───myDjango │ └───__pycache__ └───templates ├───app01 └───app02
myDjango是項(xiàng)目名稱,將創(chuàng)建的app放在了Apps文件夾內(nèi)。這樣做使整個項(xiàng)目的看起來干凈很多。對于template也采取了類似的做法,將不同應(yīng)用的template放在不同的目錄下,為了使url盡量看起來舒服一點(diǎn),在每個應(yīng)用中添加了一個urls.py文件,為了在項(xiàng)目的urls.py文件中引用。
放置好之后在myDjango目錄下的setting.py文件進(jìn)行設(shè)置,添加一句
sys.path.insert(0, os.path.join(BASE_DIR, ’Apps’))
做好之后,還需要在myDjango目錄下的urls.py文件添加對應(yīng)的path
from django.contrib import adminfrom django.urls import path, include urlpatterns = [ path(’admin/’, admin.site.urls), path(’app02/’, include('Apps.app02.urls')), path(’app01’, include('Apps.app01.urls')),]
到這里基本上就可以在一個項(xiàng)目中設(shè)置多個app了。
相關(guān)文章:
1. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)2. XML入門的常見問題(三)3. Vue3使用JSX的方法實(shí)例(筆記自用)4. vue實(shí)現(xiàn)將自己網(wǎng)站(h5鏈接)分享到微信中形成小卡片的超詳細(xì)教程5. 詳解CSS偽元素的妙用單標(biāo)簽之美6. 不要在HTML中濫用div7. 利用CSS3新特性創(chuàng)建透明邊框三角8. 多級聯(lián)動下拉選擇框,動態(tài)獲取下一級9. Vue3獲取DOM節(jié)點(diǎn)的3種方式實(shí)例10. 前端html+css實(shí)現(xiàn)動態(tài)生日快樂代碼
