【Django學習筆記】-環境搭建


對於初學django新手,根據以下步驟可以快速進行Django環境搭建

虛擬環境創建

使用virtualenv創建並啟用虛擬機環境 ,關於virtualenv可參考https://www.yuque.com/binowen/tn8zvy/inscle
pip install virtualenv
virtualenv ./env
source env/bin/activate

創建project

1.使用pip install 安裝django

pip install django

2.使用django-admin startproject 生成項目

image.png

 `根目錄的mysite/,僅僅是個目錄而已,Django不會拿它做什么,它的名字可以隨意修改`

注意: startproject不支持直接創建帶短橫線的項目名,e.g. hello-world

項目結構

image.png

  • asgi.py

兼容ASGI Web服務器的入口。

  • wsgi.py

兼容WSGI Web服務器的入口。
ASGI和WSGI,都是一種Python的Web服務網關接口協議,是在CGI通用網關接口,Common Gateway Interface)的標准上構建的。

  • urls.py

網址入口,關聯到對應的views.py中的一個函數(或者generic類),訪問網址就對應一個函數。
image.png

  • views.py

處理用戶發出的請求,從urls.py中對應過來, 通過渲染templates中的網頁可以將顯示內容,比如登陸后的用戶名,用戶請求的數據,輸出到網頁。
image.png

  • models.py

與數據庫操作相關,存入或讀取數據時用到這個,當然用不到數據庫的時候 你可以不使用。

  • forms.py

表單,用戶在瀏覽器上輸入數據提交,對數據的驗證工作以及輸入框的生成等工作,當然你也可以不使用。

  • templates 文件夾

views.py 中的函數渲染templates中的Html模板,得到動態內容的網頁,當然可以用緩存來提高速度。

  • admin.py

后台,可以用很少量的代碼就擁有一個強大的后台。

  • settings.py

Django 的設置,配置文件,比如 DEBUG 的開關,靜態文件的位置等。
image.png

創建app

使用python manage.py startapp 創建****app

app是Django項目的應用,一個project可以包含多個app。在使用django-admin startapp命令后就會創建這樣的目錄文件,如下:
image.png

  • polls/

app的Python包,可以放在任意路徑。修改存放路徑,相關配置中的路徑也需要修改。

  • admin.py

存放Django自帶后台管理的models。

  • apps.py

app配置信息,例如:
from django.apps import AppConfig

class PollsConfig(AppConfig):
name = 'polls'

存放路徑不同,name的值也不同。

  • migrations/

Django數據遷移生成的遷移記錄文件。

  • models.py

存放app的models。

  • tests.py

單元測試。

  • views.py

視圖函數(類)。

  • urls.py

app的路由配置,需要手動添加,可通過include()函數導入到mysite/urls.py中,例如:
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path('admin/', admin.site.urls),
path('polls/', include('polls.urls')),
]

 polls/urls.py:

from django.urls import path

from . import views

urlpatterns = [
path('', views.index),
]

訪問xxx/polls/就會路由到views.index

創建Template

  1. 創建templates文件夾,並把所有網頁模板(.html)文件都放在此文件夾中。
  2. 創建static文件夾,並把所有靜態文件(圖像文件、CSS文件及.js等)都放在此文件夾中。

image.png

創建Model/View/Url

  1. 修改settings.py,把相關的文件夾加入,也把生成的app名稱加入INSTALLED_APPS序列中。
  2. 編輯models.py,創建數據庫表格。
  3. 編輯views.py,先import在models.py中創建的數據模型。
  4. 編輯admin.py,把models.py中定義的數據模型加入,並使用admin.site.register注冊新增的類,讓admin界面可以處理數據庫內容。
  5. 編輯urls.py,先import在views.py中定義的模塊
  6. 編輯urls.py,創建網站和views.py中定義的模塊的對應關系。
  7. 執行數據庫腳本初始化(如果有Model的話)

python manage.py makemigrations
python manage.py migrate

執行python manage.py runserver 0.0.0.0:8000 啟動項目

工程化項目參考

由於Django官方並沒有提供標准的項目結構

image.png

特點是①app放置在單獨目錄統一管理,②requirements和settings按環境做拆分

參考:
https://docs.djangoproject.com/en/3.1/intro/tutorial01/
https://django-edge.readthedocs.io/en/latest/Architecture/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM