基於 Django 的手機管理系統

2022-05-17 08:44:09 字數 3183 閱讀 8220

前段時間和小組一起完成資料庫作業,覺得收穫挺多的,分享到部落格來。

一、概述

打算通過設計資料庫,然後結合 python 框架django,實現在網頁上對資料庫的增刪改查(本例以手機的管理為例,不考慮訂購功能),有普通使用者介面和管理員使用者介面,普通使用者只能做簡單的檢視需求,管理員使用者可以實現對資料庫內容的實時修改。

二、設計資料庫

根據業務需求,設計資料表,需要下列這些屬性:

手機型號、品牌、手機描述、出廠年份、**、**、產地。

根據資料表設計原則,資料表設計需要滿足基本的函式依賴和正規化要求,因此我們將上述屬性拆分為四張**,並建立這些資料表之間的聯絡,相關的e-r 圖如圖所示:

(由於 django 在建立每乙個資料表的時候就會有乙個內建的 id 作為主鍵,因此在此就不需要另外再設定主鍵字段)

此資料庫字段由於是我從 sqlite 遷移到 mysql 中,django 自動幫我再生成的字段,所以有些欄位名和我在 django 寫的字段不一致,但資料表關係還是一致的。

from django.db import

models

#create your models here.

class

maker(models.model):

name = models.charfield(max_length=10)

country = models.charfield(max_length=10)

def__str__

(self):

return

self.name

class

pmodel(models.model):

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

name = models.charfield(max_length=20)

url = models.urlfield(default='

')def__str__

(self):

return

self.name

class

product(models.model):

pmodel = models.foreignkey(pmodel, on_delete=models.cascade, verbose_name='型號'

) nickname = models.charfield(max_length=15, default='

超值二手手機

', verbose_name='摘要'

) description = models.textfield(default='

暫無說明

', verbose_name='

暫無說明')

year = models.positiveintegerfield(default=2016, verbose_name='

出廠年份')

price = models.positiveintegerfield(default=0, verbose_name='**'

)

def__str__

(self):

return

self.nickname

class

pphoto(models.model):

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

description = models.charfield(max_length=20, default='

產品**')

url = models.urlfield(default='

')def__str__

(self):

return self.description

在終端下執行以下指令,進行資料庫的更新以及遷移操作,並建立管理員使用者:

python manage.py makemigrations

python manage.py migrate

python manage.py createsuperuser

python manage.py runserver

然後插入資料。

注意安裝 python 的 mysql 驅動程式這塊,剛開始安裝 mysql 官網提供的 mysql-python 這個模組,但在 python3環境下會報錯,原因是mysql-python 模組不支援 python3版本,所以安裝使用pymysql 模組。

注意在 models.py 檔案同級檔案中的init.py 修改為:

import

pymysql

pymysql.install_as_mysqldb()

操作便與 mysql-python 的使用方法一致了。

管理員的增刪改查介面:

三、設計**

設計**,在 django 中增加 static 檔案和 template 檔案,套用相關模板和框架(這裡運用了 bootstrap),編寫 html 檔案,呼叫資料庫中的內容,設計的**如下(即普通使用者能檢視的介面):

主頁面:

商品詳情介面:

四、總結

至此,乙個簡單的 手機管理系統就被我們實現出來了(django + bootstrap + mysql),當然其中還存在中很多的不足,比如沒有實現普通使用者登入功能,html 頁面寫的也比較簡陋,後續有時間會繼續加以完善。

**已上傳至 github:

基於Django資訊管理系統,用於酒店預訂管理

基於django的python資訊管理系統,用於酒店預訂管理 python 3.6 django 2.0 mysql 5.1.73 轉殖專案 git clone進入資料夾 cd hotelbooksystem建立虛擬環境 可能需要先安裝這些 gcc zlib dev python3 dev mysq...

基於django的web模板系統

1,顯然,任何頁面的改動會牽扯到python 的改動 的設計改動會比python 改動更頻繁,所以如果我們將兩者分離開會更方便 2,其次,寫後台python 與設計html是不同的工作,更專業的web開發應該將兩者分開頁面設計者和html css程式設計師不應該編輯python 他們應該與html打...

基於django的登入註冊系統

2.功能實現 3.小結 請檢查填寫的內容 if login form.is valid username login form.cleaned data.get username password login form.cleaned data.get password try user model...