Django入門筆記2 專案入手

2021-10-23 10:14:15 字數 4046 閱讀 3605

requirement.txt用於記錄專案所安裝的包

django==2.2

django-concurrency==1.4

pillow==6.2.1

pytz==2019.3

six==1.13.0

sqlparse==0.3.0

psycopg2==2.7.1

安裝專案包

pip freeze > requirements.txt
通過django-admin startproject建立專案

django-admin startproject name

專案目錄

mysite/

manage.py # 啟動server

mysite/ #專案配置目錄 django-admin startproject 與專案同名

__init__.py

settings.py

urls.py

asgi.py

wsgi.py

__init__.py

admin.py

migrations/

__init__.py

models.py

tests.py

views.py

(..

.# 內建應用已省略

'polls',)

專案目錄

mysite/

manage.py # 啟動server

mysite/ #專案配置目錄 django-admin startproject 與專案同名

__init__.py

settings.py

urls.py

asgi.py

wsgi.py

__init__.py

admin.py

migrations/

__init__.py

models.py

tests.py

views.py

詳細內容見官方文件

官方文件url

在專案資料夾下的urls.py檔案中編寫路由

from django.contrib import admin

from django.urls import include, path

urlpatterns =

[ path(

'polls/', include(

'polls.urls'

)), path(

'admin/', admin.site.urls),

]

django 3.0 後編寫路由無需使用正規表示式了

path('**route訪問路由**','**view對應檢視**','kwarg','name命名空間')前兩個為必須引數

view 引數可為include( ),該函式採用完整的 python 匯入路徑到達該位置應「包括」的另乙個urlconf模組,admin.site.urls是唯一例外(admin為內建模組)

path(

'articles///', views.section, name=

'article-section'

)/ 用於限定url中引數型別

有關url詳細內容參考

官方文件url

通過修改專案目錄下settings.py

databases =

}

並按照對應驅動連線資料庫(可見後文常見資料庫連線)

詳細配置參考

官方文件database

通過編寫應用目錄下models.py建立模型

from django.db import models

class question(models.model):

question_text = models.charfield(max_length=200)

pub_date = models.datetimefield(

'date published'

)class choice(models.model):

question = models.foreignkey(question, on_delete=models.cascade)

choice_text = models.charfield(max_length=200)

votes = models.integerfield(default=0)

通過自定義類繼承models.model實現資料庫字段

每乙個類代表與一張資料庫表一一對應,每乙個屬性對應著資料庫表中的字段

每個欄位都是 field 類的例項,每個模型被表示為django.db.models.model類的子類

詳細型別及引數參看

官方文件field 類

同時可以使用 foreignkey 定義關係,django 支援所有常用的資料庫關係:多對

一、多對多和一對一。

初始化資料庫與模型

python [manage.py]

(<>

) migrate

migrate負責應用和撤銷遷移,主要用於資料庫建立遷移時操作

python [manage.py]

(<>

) makemigrations

makemigrations基於模型的修改建立遷移,主要用於模型建立更改時操作。

建立乙個管理員賬號

建立乙個能登入管理頁面的使用者,執行下面的命令:

python manage.py createsuperuser
鍵入你想要使用的使用者名稱,然後按下回車鍵:

最後一步是輸入密碼。你會被要求輸入兩次密碼,第二次的目的是為了確認第一次輸入的確實是你想要的密碼。

username: admin

email address: [email protected]

password: **********

password (again): *********

superuser created successfully.

啟動開發伺服器

python manage.py runserver
登陸頁面

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-h6xzmrog-1596700902713)(

管理頁面

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-juo5t9h0-1596700902715)(

在管理頁面中加入應用功能

在應用目錄下的admin.py中 通過admin.site.register (模型)引入模型

from django.contrib import admin

from .models import question

admin.site.register(question)

詳細內容參考官方文件

官方文件

接下來將介紹 model與資料庫 api 以及 基於 restful framework 的 serializer 序列化

Django基礎(2 專案之Models)

1.安裝 django啟用乙個虛擬環境後 例如我的是 csdn 執行命令 conda install django 進行安裝 檢測是否安裝成功 執行命令 python m django version,如果顯示版本號則代表成功 2.建立專案 選擇想要的路徑,執行命令 django admin sta...

2 專案搭建

1.開發專案,我們先的搭建乙個專案目錄,基本的專案目錄很簡單,就乙個index.html檔案 css js images資料夾。2.在實際開發中,我們基本遇到的也是這三個資料夾。index是專案的主要檔案,也是入口檔案。公司實際開發中也是這個樣子的。這三個資料夾是做什麼用的呢。css是層疊樣式表,也...

django2專案環境開發基本配置

2 使用命令建立乙個專案 django admin startproject 專案名字 複製 3 根據下圖方式將上面兩個建立的資料夾變成根目錄 4 在專案的settings.py中新增配置資訊 import os import sys build paths inside the project l...