1. 程式人生 > 實用技巧 >Django基礎4--Shell及管理頁面

Django基礎4--Shell及管理頁面

1.Django Shell
  • 開啟Django的命令互動模式
(django) ➜  AutoPlatform python manage.py shell
Python 3.7.5 (default, Nov 29 2019, 14:32:46) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> 

  • 還記得之前模型嘛
# 作者:伊洛Yiluo 公眾號:伊洛的小屋
# 個人主頁:https://yiluotalk.com/
# 部落格園:https://www.cnblogs.com/yiluotalk/
from django.db import models

# Create your models here.


class ProjectInfo(models.Model):
    """ 專案資訊模型 """
    project_name = models.CharField(max_length=30)
    dev = models.CharField(max_length=20)
    tester = models.CharField(max_length=20)
    add_data = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        # 返回專案名稱
        return self.project_name
  • 嘗試用Shell操作一下
>>> from autoapi.models import ProjectInfo
>>> ProjectInfo.objects.all()
<QuerySet []>

2.Django管理頁面

Django提供的管理網站(admin site)讓你能夠輕鬆地處理模型。網站的管理員可使用管理網站,但普通使用者不能使用

  • 首先需要建立一個超級管理的賬戶
(django) ➜  AutoPlatform python manage.py createsuperuser

這裡的username設定為admin, 密碼也設定為admin

Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
3.檢視Django管理頁面
  • 啟動服務
(django) ➜  AutoPlatform python manage.py runserver 
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
August 25, 2020 - 15:12:38
Django version 3.1, using settings 'AutoPlatform.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
4. 進入到管理站點頁面
  • 輸入使用者名稱和密碼,進入到管理後臺
5.管理後臺頁面加入應用

我們建立的模型,必須手工進行註冊

  • 開啟admin.py檔案
from django.contrib import admin
from .models import ProjectInfo

# Register your models here.

admin.site.register(ProjectInfo)

  • 再開啟管理後臺頁面可見

  • 來嘗試著新增一條專案資料

  • 點選儲存

  • 再進入到Django shell中檢視
(django) ➜  AutoPlatform python manage.py shell
Python 3.7.5 (default, Nov 29 2019, 14:32:46) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from autoapi.models import ProjectInfo
>>> ProjectInfo.objects.all()
<QuerySet [<ProjectInfo: 介面自動化>]>
>>>