大家好,這是皮爺給大家?guī)淼淖钚碌膶W(xué)習(xí)Python能干啥萄喳?之Django教程洞焙,從零開始,到最后成功部署上線的項目突琳。
之前我們通過PyCharm使用它自帶的Django默認模板創(chuàng)建了Django項目若债,結(jié)構(gòu)長這個樣子:
但是這個結(jié)構(gòu)離我們真正的開發(fā)結(jié)構(gòu)差得很遠,所以我們需要修改一些東西本今。
調(diào)整文件夾
在程序的根目錄下拆座,創(chuàng)建如下文件夾:
- apps:目的是存放所有Django的application
- front:存放我們的前端代碼
- dist:存放壓縮后的靜態(tài)文件
- src:存放源文件
- css: CSS樣式文件
- images: 圖片文件
- js:JavaScript文件
- templates:實際編寫html文件的地方主巍。
- media:存放media資源
- utils:存放工具類
同時刪除 templates 文件夾。目前挪凑,我們的項目結(jié)構(gòu)就變成了這個樣子:
修改settings文件
在上一步孕索,我們把系統(tǒng)原有的templates文件夾刪掉了,換成了我們自己的front文件夾躏碳,所以搞旭,在settings.py文件里面,我們需要做一些修改菇绵。
找到TEMPLATES變量肄渗,我們需要將里面的TEMPLATES變量:
TEMPLATES = [
{
...這里有內(nèi)容,只不過省略了...,
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
...這里有內(nèi)容,只不過省略了...,
},
]
變成:
TEMPLATES = [
{
...這里有內(nèi)容,只不過省略了...,
'DIRS': [os.path.join(BASE_DIR, 'front', 'templates')]
,
...這里有內(nèi)容,只不過省略了...,
},
]
因為我們在上一步,把templates
文件夾其實移動到了/front/templates
目錄咬最。
同時翎嫡,因為我們上面創(chuàng)建了static
文件夾還有media
文件夾,所以我們還要在settings.py
文件的后面永乌,加入下面的幾個變量惑申。
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'front', 'dist')
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
測試是否成功
到目前為止,我們就把項目結(jié)構(gòu)暫時先改成這個樣子翅雏。那么我們接下來要測試一下我們的修改是否成功圈驼。
創(chuàng)建Application
創(chuàng)建Django Application的過程,你可以通過命令行的命令$ python manage.py startapp xxxx
來創(chuàng)建望几,也可以通過菜單欄的Tools -> Run manage.py Task
來創(chuàng)建绩脆。我使用的是第二種方法。點擊之后橄抹,PyCharm最下面的界面就會發(fā)生變化:
這個時候靴迫,我們創(chuàng)建一個名為poster的application:
創(chuàng)建好之后,我們看到poster這個文件夾在根目錄下:
我們之前創(chuàng)建了一個名叫apps的文件夾害碾,目的就是存放所有的application矢劲,所以,我們需要把這個新創(chuàng)建的poster移動到那個文件夾下:
接著慌随,我們在/front/templates/
目錄下芬沉,創(chuàng)建一個index.html
文件,并在里面填寫一些內(nèi)容阁猜。
接著我們需要在/apps/poster/views.py
文件里面編寫映射函數(shù)丸逸,這里就是最簡單的直接返回剛才創(chuàng)建的index.html
文件。
def index(request):
return render(request, 'index.html')
最后一步剃袍,需要在/Peekpa/urls.py
文件里黄刚,也就是項目的主urls.py
文件,填寫url映射民效。這里我們很簡單的就是引入application里面的views:
from django.urls import path
from apps.poster.views import index
urlpatterns = [
path('', index, name='index'),
]
大功告成憔维,我們這個時候需要運行Django項目涛救,并且在瀏覽器里面輸入http://127.0.0.1:8000/
來看結(jié)果:
結(jié)果非常完美,我們項目成功的能跑起來了业扒。
技術(shù)總結(jié)
最后總結(jié)一下检吆,
創(chuàng)建應(yīng)用:
- Django中,每一個功能或者一類功能程储,可以抽取出來作為一個應(yīng)用Application蹭沛;
- 創(chuàng)建應(yīng)用三種方式:一種是在終端里面輸入
python manage.py startapp xxx
,第二種是直接在PyCharm的tools中使用startapp xxx
創(chuàng)建章鲤,最后一種就是手動創(chuàng)建文件夾還有文件摊灭; - 以后會頻繁的使用應(yīng)用,所以創(chuàng)建應(yīng)用應(yīng)該掌握败徊;
- 沒啥可說的了帚呼,完畢。
獲取代碼的唯一途徑:關(guān)注『皮爺擼碼』皱蹦,回復(fù)『代碼』即可獲得萝挤。
長按下圖二維碼關(guān)注,如文章對你有啟發(fā)根欧,歡迎在看與轉(zhuǎn)發(fā)。