Django基礎(2 專案之Models)

2021-08-28 03:34:09 字數 2808 閱讀 2744

1. 安裝 django啟用乙個虛擬環境後(例如我的是 csdn),執行命令 conda install django 進行安裝

檢測是否安裝成功:執行命令 python -m django --version,如果顯示版本號則代表成功

2. 建立專案

選擇想要的路徑,執行命令:django-admin startproject mysite 即可建立 django 專案

然後用 pycharm 開啟,file-->settings-->project: mysite-->project interpreter,選擇帶有 django 的虛擬環境的 python.exe

此時的目錄如下:

找到 time_zone,修改 language_code、time_zone、ues_tz 三個引數,保證整個專案的時間準確不錯亂

設定完時區後,至此,準備工作就完成了

python 內建了資料庫 sqlite,所以你無需安裝額外東西來使用它,作為初學,就用它就行,如果在實際開發中,更多的使用 mysql 等,我們修改 mysite/settings.py 裡的 database 引數就行,這裡初學案例就用預設的

配置完成之後我們再也不需要關心資料庫,因為我們用 models 來關聯它,對它進行操作

開啟 polls/models.py ,我們需按照規定編寫資料模型,這樣它才可以自動的對映到資料庫

比如類必須繼承自 models.model,屬性型別必須是 models.***field(),models.foreignkey() 代表外來鍵等,見**注釋

polls/models.py

from django.db import models

# create your models here.

# 建立資料模型:投票的問題

# 每個類必須繼承自models.model

class question(models.model):

# 建立問題的內容

# 每個屬性的型別必須是models.***field()

# 其中models.charfield型別必須使用max_length引數指明長度

question_text = models.charfield(max_length=200)

# 建立發布日期

# models.datetimefield是日期型別

pub_date = models.datetimefield('date published')

# 當物件作為字串時返回問題的文字內容

def __str__(self):

return self.question_text

# 建立資料模型:投票的選項和相應的票數

class choice(models.model):

# models.foreignkey()方法建立外來鍵,關聯queston

# on_delete = models.cascade設定同步刪除

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

# 建立選項的內容

choice_text = models.charfield(max_length=200)

# 建立票數,default設定預設值

votes = models.integerfield(default=0)

def __str__(self):

return self.choice_text

建立完模型後,還需要啟用模型,它才能正真地能繫結到資料庫,這個啟用的過程我們叫做遷移

為註冊的應用準備遷移檔案:命令:python manage.py makemigrations polls,出現下面資訊代表成功

執行遷移:命令:python manage.py migrate

polls/migrations/0001_initial.py 出現說明遷移成功,該檔案是遷移記錄檔案

Django基礎(4 專案之URLs)

前面通過 models 和 admin 我們實現了對資料的建立和管理,就算是把資料庫部分給準備好了 回到第一篇 給出的圖 心中一定要時刻有這張圖,編寫過程才不會迷路 客戶端發來的請求先經過 wsgi 但 django 已經為我們準備好了 wsgi,就在 mysite wsgi.py 檔案裡,所以我們...

Django基礎1 專案搭建

這邊先介紹市場流行版本 django 1.11.7 啟動的ip 埠,或直接 埠 python manage.py runserver 0.0 0.0 8000 8000python manage.py makemigrations 本地生成遷移 python manage.py migrate 資料...

Django入門筆記2 專案入手

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 require...