DJANGO學習筆記-3 創建app

這一部分更加詳細地解釋如何正確創建 APP。

1.創建

進入 manage.py 同級文件夾,終端中輸入。

python3 manage.py startapp app1

當目錄中出現 app1 文件夾, 創建 app1 完成。

2.在 settings 中註冊App

在和你項目文件同名的文件夾中的 settings.py 中的 INSTALLED_APPS 中註冊。

添加規則:

    1.如果只是一個單獨的數據類

    找到 app1 中的 apps 文件。 系統默認生成一個 config 的 class ,複製類名(這裏是 AppConfig),按照文件定位書寫

'app1.apps.App1Config'

    2.也可以直接寫 'app1'

3.字段創建

這一步將會在遷移後在數據庫中添加對應 type 的字段類型。

在 django 中,字段創建有固定模版。它必須以創建一個繼承 models.Model 的子類進行創建。

例如:

class App1(models.Model):
    des = models.CharField(max_length=50)

如上創建了一個最大長度爲50的 char 字段 des

models 中自帶了很多不同的字段類型,這一點我們將在另一個博客中指出。

4.在APP中註冊字段

字段創建完成後,也需要註冊,添加其和app的關聯。

通過在 app 中的 admin 裏使用 admin.site.register(),註冊 models 中新添加的字段類。

from .models import App1
# Register your models here.
admin.site.register(App1)

5.數據遷移

這一步將我們剛纔做的修改反映到了數據庫 db.sqlite3 上。

終端依次執行下面兩句話即可。

python3 manage.py makemigrations

這句話會在 app 文件夾下創建 遷移幫助文件

python3 manage.py migrate

這兩句話是固定且必要的。你無法通過直接修改 db.sqlite3 來完成對數據庫的更改,否則會報錯。

6.在超級管理員中查看你的更改

在運行服務器 runserver 之後,登陸管理界面可以看到創建完成的 app。點擊進入可以看到你建立的字段類型。

7.APP的使用

首先在超級管理員中添加三個不同的 app1 類以便於測試。

在 view.py (render 所在的控制 template 和 request 的邏輯層。詳情請看筆記2)中導入模塊並傳遞給 html

from app1.models import App1

def firstPage(request):
    appObjects = App1.objects
    return render(request, '1.html',{'appobjs':appObjects})

值得注意的是,這邊拿過來的是一個 objects 的集合。所以對每一個 objects 單獨輸出,我們需要在視圖層中進行遍歷。

可以用如下方法調用其中的值:

{% for obj in appobjs.all %}
{{obj.des}}
{% endfor %}

 

 

 

 

 

 

發佈了37 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章