欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于 Django 的手機(jī)管理系統(tǒng)實(shí)現(xiàn)過程詳解

 更新時(shí)間:2019年08月16日 09:47:48   作者:希希里之海  
這篇文章主要介紹了基于 Django 的手機(jī)管理系統(tǒng)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、概述

打算通過設(shè)計(jì)數(shù)據(jù)庫,然后結(jié)合 Python 框架Django,實(shí)現(xiàn)在網(wǎng)頁上對(duì)數(shù)據(jù)庫的增刪改查(本例以手機(jī)的管理為例,不考慮訂購功能),有普通用戶界面和管理員用戶界面,普通用戶只能做簡單的查看需求,管理員用戶可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫內(nèi)容的實(shí)時(shí)修改。

網(wǎng)站主體如下圖:

二、設(shè)計(jì)數(shù)據(jù)庫

根據(jù)業(yè)務(wù)需求,設(shè)計(jì)數(shù)據(jù)表,需要下列這些屬性:

手機(jī)型號(hào)、品牌、手機(jī)描述、出廠年份、價(jià)格、照片、產(chǎn)地。

根據(jù)數(shù)據(jù)表設(shè)計(jì)原則,數(shù)據(jù)表設(shè)計(jì)需要滿足基本的函數(shù)依賴和范式要求,因此我們將上述屬性拆分為四張表格,并建立這些數(shù)據(jù)表之間的聯(lián)系,相關(guān)的E-R 圖如圖所示:

(由于 Django 在建立每一個(gè)數(shù)據(jù)表的時(shí)候就會(huì)有一個(gè)內(nèi)建的 id 作為主鍵,因此在此就不需要另外再設(shè)置主鍵字段)

此數(shù)據(jù)庫字段由于是我從 sqlite 遷移到 MySQL 中,Django 自動(dòng)幫我再生成的字段,所以有些字段名和我在 Django 寫的字段不一致,但數(shù)據(jù)表關(guān)系還是一致的。

在 Django 中設(shè)計(jì)數(shù)據(jù)表相關(guān)代碼如下:

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='http://i.imgur.com/OusiGB.png')

 def __str__(self):
  return self.name

class Product(models.Model):
 pmodel = models.ForeignKey(PModel, on_delete=models.CASCADE, verbose_name='型號(hào)')
 nickname = models.CharField(max_length=15, default='超值二手手機(jī)', verbose_name='摘要')
 description = models.TextField(default='暫無說明', verbose_name='暫無說明')
 year = models.PositiveIntegerField(default=2016, verbose_name='出廠年份')
 price = models.PositiveIntegerField(default=0, verbose_name='價(jià)格')

 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='產(chǎn)品照片')
 url = models.URLField(default='http://i.imgur.com/z230eeq.png')

 def __str__(self):
  return self.description

在終端下執(zhí)行以下指令,進(jìn)行數(shù)據(jù)庫的更新以及遷移操作,并創(chuàng)建管理員用戶:

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

然后插入數(shù)據(jù)。

注意安裝 Python 的 MySQL 驅(qū)動(dòng)程序這塊,剛開始安裝 MySQL 官網(wǎng)提供的 mysql-python 這個(gè)模塊,但在 Python3環(huán)境下會(huì)報(bào)錯(cuò),原因是mysql-python 模塊不支持 Python3版本,所以安裝使用pymysql 模塊。
注意在 models.py 文件同級(jí)文件中的init.py 修改為:

import pymysql
pymysql.install_as_MySQLdb()

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

網(wǎng)站管理員登錄界面:

管理員的增刪改查界面:

三、設(shè)計(jì)網(wǎng)站

設(shè)計(jì)網(wǎng)站,在 Django 中增加 static 文件和 template 文件,套用相關(guān)模板和框架(這里運(yùn)用了 bootstrap),編寫 HTML 文件,調(diào)用數(shù)據(jù)庫中的內(nèi)容,設(shè)計(jì)的網(wǎng)站如下(即普通用戶能查看的界面):

主頁面:

商品詳情界面:

四、總結(jié)

至此,一個(gè)簡單的 手機(jī)管理系統(tǒng)就被我們實(shí)現(xiàn)出來了(Django + Bootstrap + MySQL),當(dāng)然其中還存在中很多的不足,比如沒有實(shí)現(xiàn)普通用戶登錄功能,HTML 頁面寫的也比較簡陋,后續(xù)有時(shí)間會(huì)繼續(xù)加以完善。
代碼已上傳至 GitHub:

https://github.com/weixuqin/myDjango/tree/master/test3

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python Dataframe字符串合并的操作方法

    python Dataframe字符串合并的操作方法

    Dataframe的字符串合并包括2種場(chǎng)景,1.合并df中其中幾列字符串;2.將df中的字符串與外部字符串合并,本文主要介紹在Python下對(duì)Dataframe進(jìn)行字符串合并操作的方法,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • python操作配置文件實(shí)戰(zhàn)記錄

    python操作配置文件實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于python操作配置文件的相關(guān)資料,配置文件是為程序配置參數(shù)和初始設(shè)置的文件,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Python pymongo模塊常用操作分析

    Python pymongo模塊常用操作分析

    這篇文章主要介紹了Python pymongo模塊常用操作,結(jié)合實(shí)例形式分析了pymongo模塊的導(dǎo)入、連接MongoDB數(shù)據(jù)以及插入、更新、刪除、查詢等操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-09-09
  • 用python寫掃雷游戲?qū)嵗a分享

    用python寫掃雷游戲?qū)嵗a分享

    我們給大家分享了一篇關(guān)于用python寫一個(gè)掃雷經(jīng)典游戲的實(shí)例代碼,大家可以測(cè)試運(yùn)行下。
    2018-05-05
  • Python中的type與isinstance的區(qū)別詳解

    Python中的type與isinstance的區(qū)別詳解

    本文主要介紹了Python中的type與isinstance的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python實(shí)現(xiàn)斗地主分牌洗牌

    python實(shí)現(xiàn)斗地主分牌洗牌

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)斗地主分牌洗牌,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Python的時(shí)間模塊datetime詳解

    Python的時(shí)間模塊datetime詳解

    本文給大家分享的是在python中的時(shí)間模塊datetime的使用方法,注意事項(xiàng)以及簡單示例,有需要的小伙伴可以參考下
    2017-04-04
  • Python中的生成器和yield詳細(xì)介紹

    Python中的生成器和yield詳細(xì)介紹

    這篇文章主要介紹了Python中的生成器和yield詳細(xì)介紹,本文講解了列表推導(dǎo)與生成器表達(dá)式、斐波那契數(shù)列、生成器Generator、協(xié)程與yield表達(dá)式、使用生成器與協(xié)程等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • 基于virtualenv創(chuàng)建python虛擬環(huán)境過程圖解

    基于virtualenv創(chuàng)建python虛擬環(huán)境過程圖解

    這篇文章主要介紹了基于virtualenv創(chuàng)建python虛擬環(huán)境過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 使用Python編寫vim插件的簡單示例

    使用Python編寫vim插件的簡單示例

    這篇文章主要介紹了使用Python編寫vim插件的簡單教程,文中舉了一個(gè)獲取reddit首頁信息并顯示在緩沖區(qū)中的例子,需要的朋友可以參考下
    2015-04-04

最新評(píng)論