Django之第乙個app 4

2021-07-04 21:44:03 字數 2294 閱讀 9631

建立模型

既然你的開發環境,即工程,已經設定好了,那麼你應該開始工作了。

用django寫的每乙個應用都會包含乙個遵循某種約定的包。django能夠自動產生乙個應用的基本目錄結構,所以你能夠專心於寫**而不是建立目錄。

工程和應用的比較

乙個工程和乙個應用之間的區別是什麼?乙個應用指的是乙個web應用,做例如網路日誌系統、乙個做公共紀錄的資料庫或者乙個簡單的投票應用。乙個工程是配置檔案和多個應用的集合,乙個工程可以包含多個應用,乙個應用可以在多個工程中。

你的應用可以放在你python路徑的任何地方。在這個教程中,我們會在與manage.py檔案同一目錄下建立我們的投票應用,這樣的話,建立的應用可以作為頂層模組被匯入,而不是作為mysite的子模組。

為了建立你的應用,確保你現在是在與manage.py處於同一等級目錄下,鍵入下面的命令:

展示:

charies:desktop weichuang$ cd mysite

charies:mysite weichuang$ ls

db.sqlite3 manage.py mysite

charies:mysite weichuang$ ls

db.sqlite3 manage.py mysite polls

這會建立乙個poll目錄,裡面是這樣的:

這個目錄結構會存放投票這個應用。

用django寫乙個資料庫web應用的第一步是定義你的模型

在我們這個簡單的投票應用中,我們會建立兩個模型:questionchoice。乙個question模型包含乙個問題和乙個發行日期。乙個choice模型包含兩個字段:選擇的文字和投票計數器。 每個choice都與question是關聯的。

這些概念是由簡單的python類來表示的。像下面那樣編輯polls/models.py檔案

from django.db import models

class

question

(models.model):

question_text=models.charfield

(max_length=200)

pub_date=models.datetimefiled

('date

published')

class

choice

(models.model):

question=models.foreignkey

(question)

choice_text=models.charfield

(max_length=200)

votes=models.integerfield

(default=0)

**很清楚,每個模型是由django.db.models.model的子類表示的。每個模型擁有許多類成員變數,每個類類成員變數代表模型中的乙個字段。

每個欄位是由field類的例項表示的。例如,charfield代表字元字段,datetimefield代表日期。這會告訴django每個欄位是什麼型別的資料。

每個field類的例項的名字就是欄位名,這樣的格式對機器來說是友好的。你會在python**中使用這個值,並且你的資料庫會使用它作為欄位名。

一些field類需要一些引數。例如,charfiled需要你給它傳遞max_length。我們不久就會發現,那樣使用不僅僅是以資料庫的模式,而且非常有效。乙個field可以有多種可選的引數,在這個例子中,我們把votesdefault值是0。

最後,使用foreignkey定義了乙個關係。那會告訴django每個choice模型都會與question有關係。django支援許多常見的資料庫關係:多對

一、多對多、一對一。

Django 第乙個Django程式

pip install virtualenv之後,建立乙個名為venv的環境,使用如下命令 virtualenv venv之後,啟用該虛擬環境,使用命令 source venv bin activate之後,你會看到你的shell前有乙個venv的標識。如下圖所示 退出虛擬環境使用deactivat...

Django學習之第乙個專案

1 新建乙個專案,專案名稱叫做myproject django admin.py startproject myproject我們使用tree myproject來檢視一下執行上面命令後,生成了哪些檔案 myproject manage.py myproject init py settings.p...

第乙個Django專案

1 確保已安裝python 2 安裝django,在cmd中執行命令 pip install django3 建立目錄 eg d work python 4 建立django工程,在cmd中執行命令 django admin.py startproject mysite5 在pycharm中新建工程...