django下創(chuàng)建多個(gè)app并設(shè)置urls方法
1、創(chuàng)建第二個(gè)app
假設(shè)我們項(xiàng)目P下面已經(jīng)有了一個(gè)默認(rèn)的app,名字是app1?,F(xiàn)在我想創(chuàng)建第二個(gè)app,名字時(shí)app2。
進(jìn)入pychram下的Terminal中,運(yùn)行命令:
python manage.py startapp app2
此外,我在每個(gè)app下都建立一個(gè)urls.py,方便區(qū)分。
右擊app名,點(diǎn)擊“new”,選擇“Python File”,命名為urls,確定。
2、設(shè)置url.py
(1)設(shè)置P\urls.py
引入app2下的urls,然后添加引導(dǎo)路徑。具體代碼如下:
from app2 import urls as app2_urls urlpatterns = [ path('app2/',include(app2_urls)), # 將所有以app2開(kāi)頭的urls,都交給app2(app名)下的urls.py處理 ]
(2)設(shè)置app2\urls.py
from django.urls import path from app2 import views urlpatterns = [ path('index/', views.index), ]
3、編寫(xiě)app2下的views.py
from django.shortcuts import render,HttpResponse # Create your views here. # 綁定博客 def index(request): return HttpResponse(111)
4、html頁(yè)面如何調(diào)用url
一般在href或者src中調(diào)用一般這樣寫(xiě):
href="/app2/index/" rel="external nofollow"
這樣就OK了。
內(nèi)容擴(kuò)展:
Django項(xiàng)目下創(chuàng)建多個(gè)app
基于Django2.0版本建立的項(xiàng)目。
之前在項(xiàng)目下建立app都是單個(gè)的,最近由于需求,需要在單個(gè)項(xiàng)目下建立多個(gè)app,最簡(jiǎn)單的方法就是將所有的app都放在與manage.py文件同級(jí)的目錄下,但是這樣的方式會(huì)顯得項(xiàng)目目錄下的文件夾臃腫,對(duì)于強(qiáng)迫癥的而言簡(jiǎn)直是一種折磨。
所以我采取了將多個(gè)app放在同一個(gè)文件夾內(nèi)的方式來(lái)解決這種問(wèn)題。
myDjango ├───.idea │ └───inspectionProfiles ├───Apps │ ├───app01 │ │ ├───migrations │ │ │ └───__pycache__ │ │ └───__pycache__ │ └───app02 │ ├───migrations │ │ └───__pycache__ │ └───__pycache__ ├───myDjango │ └───__pycache__ └───templates ├───app01 └───app02
myDjango是項(xiàng)目名稱(chēng),將創(chuàng)建的app放在了Apps文件夾內(nèi)。這樣做使整個(gè)項(xiàng)目的看起來(lái)干凈很多。對(duì)于template也采取了類(lèi)似的做法,將不同應(yīng)用的template放在不同的目錄下,為了使url盡量看起來(lái)舒服一點(diǎn),在每個(gè)應(yīng)用中添加了一個(gè)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文件添加對(duì)應(yīng)的path
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('app02/', include("Apps.app02.urls")), path('app01', include("Apps.app01.urls")), ]
到這里基本上就可以在一個(gè)項(xiàng)目中設(shè)置多個(gè)app了。
- Django項(xiàng)目主urls導(dǎo)入應(yīng)用中views的紅線(xiàn)問(wèn)題解決
- Django urls.py重構(gòu)及參數(shù)傳遞詳解
- django多個(gè)APP的urls設(shè)置方法(views重復(fù)問(wèn)題解決)
- Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例
- Django 設(shè)置多環(huán)境配置文件載入問(wèn)題
- Django app配置多個(gè)數(shù)據(jù)庫(kù)代碼實(shí)例
- Django多個(gè)app urls配置代碼實(shí)例
相關(guān)文章
通過(guò)PHP與Python代碼對(duì)比的語(yǔ)法差異詳解
這篇文章主要介紹了通過(guò)PHP與Python代碼對(duì)比淺析語(yǔ)法差異,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Python使用Matplotlib繪制甘特圖的實(shí)踐
甘特圖已經(jīng)發(fā)展成項(xiàng)目規(guī)劃和跟蹤的必備工具,本文主要介紹了Python使用Matplotlib繪制甘特圖的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Python簡(jiǎn)單計(jì)算數(shù)組元素平均值的方法示例
這篇文章主要介紹了Python簡(jiǎn)單計(jì)算數(shù)組元素平均值的方法,涉及Python簡(jiǎn)單數(shù)組遍歷與數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-12-12零基礎(chǔ)寫(xiě)python爬蟲(chóng)之爬蟲(chóng)的定義及URL構(gòu)成
俗話(huà)說(shuō)工欲善其事必先利其器,作為本系列文章的第一篇,我們同樣也需要先利其器,先把爬蟲(chóng)的定義以及寫(xiě)爬蟲(chóng)所需要的基礎(chǔ)知識(shí)先介紹給大家。2014-11-11Pytorch?PyG實(shí)現(xiàn)EdgePool圖分類(lèi)
這篇文章主要為大家介紹了Pytorch?PyG實(shí)現(xiàn)EdgePool圖分類(lèi)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04python文本數(shù)據(jù)處理學(xué)習(xí)筆記詳解
這篇文章主要為大家詳細(xì)介紹了python文本數(shù)據(jù)處理學(xué)習(xí)筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Matplotlib控制坐標(biāo)軸刻度間距與標(biāo)簽實(shí)例代碼
在matplotlib中,記號(hào)是圖形兩個(gè)軸上的小標(biāo)記,到目前為止,我們讓matplotlib處理軸圖例上記號(hào)的位置,下面這篇文章主要給大家介紹了關(guān)于Matplotlib控制坐標(biāo)軸刻度間距與標(biāo)簽的相關(guān)資料,需要的朋友可以參考下2021-10-10