您好,登錄后才能下訂單哦!
怎么在django項目中新增一個app?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1.在pycharm
的工具欄找到 Tools
,點擊之后會有“Run manage.py task”
選項,點擊它之后,在pycharm
下面會出現(xiàn)一個輸入界面,在里面輸入
“startapp appName(你的App名稱)”
回車之后就可以在工程下面看到你新建的App
了。
2.直接在Pycharm的命令行,直接輸入
python manage.py startapp appName(You are appName)
就OK!
創(chuàng)建完成以后,還需要對其進(jìn)行注冊。找到跟django
項目同名的包下面的settings.py
文件中的INSTALLED_APPS
,然后把要添加的app
添加到最后一行,后面加上逗號,至此,我們的app
就創(chuàng)建完成了。
注意:兩種方法成功的前提是項目中沒有報錯。
補(bǔ)充知識:如何在django下建立多個app
django是MTV模式,即template(頁面展現(xiàn)),modle(數(shù)據(jù)庫表對象),view(業(yè)務(wù)邏輯處理),在開發(fā)中發(fā)現(xiàn),隨著項目功能的增多,把所有的功能模塊放在一個app肯定不切實際,也不符合網(wǎng)站開發(fā)的原則。下圖是我在做的一個數(shù)據(jù)可視化分析平臺,項目名:integrated_display 兩個app:分別是 contentms 和 display,建立app的命名很簡單,Python
manage.py startapp appname即可,這里重點說明的是,針對不同的app在同一個項目下,
1:對應(yīng)靜態(tài)資源(html,css,js)的訪問如何區(qū)分開來,
2:不同app的url如何書寫
解決第一個問題:
如下圖所示,展現(xiàn)是contentms 下面的文件,一般新建app,直接在app里面,新建templates和static文件夾,然后將對應(yīng)的文件放入到里面就行,但是當(dāng)項目中建立多個app,解決同名沖突,需要在templates下再創(chuàng)建一個文件夾,這樣就解決假設(shè)有兩個app中都有main.html頁面,到底跳轉(zhuǎn)到哪個頁面的問題,在views.py文件頁面跳轉(zhuǎn) render中在html前加上外面的文件夾的名稱,這里是cms,
如:return render(request,'cms/program.html',{'authority':authority,}),
同樣在靜態(tài)文件里面也新建cms文件夾,靜態(tài)文件內(nèi)容放入到cms里面,訪問靜態(tài)文件形式
如:<link href="{% static 'cms/css/sweetalert.css'%}" rel="external nofollow" rel="stylesheet"/>,
這樣問題1就解決了
問題2:
項目的url.py文件內(nèi)容
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^cms/', include('contentms.urls', namespace="cms")), url(r'^display/', include('display.urls', namespace="display")), ]
app contentms的url.py文件內(nèi)容
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', views.login, name='login'), ]
app display的url.py文件內(nèi)容:
urlpatterns = [ url(r'^admin/', admin.site.urls), # url(r'^$', views.platform, name='platform'), url(r'^$', views.login, name='login'), url(r'^channel/$',views.channel,name='channel'), url(r'^program/$',views.program,name='program'), ]
關(guān)于怎么在django項目中新增一個app問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。