Django框架建立專案的具體操作
Y10
本文介紹在pycharm下建立django工程流程。
1、匯入django模組 pip install Django,建立專案,在Terminal中構建django:
①構建django工程:django-admin startproject django_1 (django_1為工程名,可自取)
② 進入工程目錄中:cd django_1
③ 構建app功能應用:python manage.py startapp app1 (app1是專案名,可自取)
2、進入django_1/django_1/settings.py中,註冊app1功能應用,並完成對靜態檔案
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app1',
]
STATIC_URL = '/static/'
"""
設定靜態檔案的根目錄, 當進行Django專案部署時, 可以將所有app下面的靜態檔案
全部複製到該目錄下.
"""
STATIC_ROOT = os.path.join(BASE_DIR,'static')
"""
設定工程共享的靜態檔案路徑, 即在該路徑下所有的檔案可以被工程中任意一個app共
享, app在載入檔案的過程中會有限載入該靜態資料夾下的檔案, 如果沒有此時才會加
載屬於自身app下的static資料夾中的檔案.
"""
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'common_static'),)
注意:共享靜態資料夾,要建立和app功能應用資料夾同級目錄;私有靜態資料夾,要建在對應app功能資料夾目錄下。
3、在django_1/django_1/urls.py中,配置app1的路由,如下:
注意
from django.contrib import admin
from django.urls import path,include
"""
#user,password: 分別用來接受瀏覽器通過地址方式傳輸的資料, 即資料作為網址的
組成部分被傳輸過來, 注意: 不管網址中傳輸的資料是否是字串, 伺服器接受到的永遠
只有字串資料.
其中一些資料(限於不會對伺服器有影響的資料,且Django版本在2.0以上),可以用以下
方式傳入資料: <type:引數>
"""
urlpatterns = [
path('welcome/<str:user>/<str:password>/' , views.welcome, name='wc'),
path('admin/', admin.site.urls),
path('app1/',include('app1.urls')),
]
4、將django_1/django_1下的urls.py複製到對應app資料夾下,可以刪去app1/urls.py中的無關app1/views.py功能的程式碼。
注意:3~4步驟是為了,若有多個app功能資料夾,這樣將不同app應用功能下需要配置的功能路由規整的分割開,以方便以後維護程式碼。
5、在app1功能應用資料夾下,建立templates資料夾(名字不可變),用來存放前端頁面,注意把私有的靜態檔案和共享的靜態檔案放到設定過的對應資料夾中
6、在app1/views.py中完成對對應網頁的渲染和定義的功能路由(渲染後才可在網址中展示頁面,若是POST請求,需要加入csrf驗證),如下:
from django.shortcuts import render
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
# 定義函式完成指定頁面的渲染
def show_login(request):
return render(request, 'app1/login.html')
7、在app1/urls.py中配置路由,如下:
from django.contrib import admin
from django.urls import path
from app1 import views
urlpatterns = [
path('login/', views.show_login, name='login'),
]
8、在pycharm中的Terminal裡輸入 python manage.py runserver 啟動服務,測試網頁。
9、在網址中輸入:http://127.0.0.1:8000/函式定義功能的名稱
views.py中相關解釋:
"""
views.py主要完成伺服器功能的開發, 該檔案通過不用的函式設定伺服器不同的子功
能
HttpResponse: 伺服器基於HTTP協議的網路迴應物件, 該物件可以完成伺服器向瀏
覽器傳輸資料
request: 所有擴充套件伺服器功能的函式都必須攜帶的引數, 該引數用來儲存瀏覽器向服
務器傳送的資料請求物件;瀏覽器向伺服器傳送的網路請求物件, 其中儲存本次請求的各
種資訊, 比如前端向伺服器傳送的資料引數, 請求方式,網址等資訊
伺服器接受瀏覽器通過GET或POST傳送的資料
"""
若需要檢視具體程式碼,在此分享本人建立過的供學習的django工程(以上為工程django_1):
連結:https://pan.baidu.com/s/1v74l_n_1F5WoRxOb7YlRjg
提取碼:ev9p
個人小結,定有不足之處,歡迎指點。
謝謝~