<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          幾乎不寫一行代碼,快速開發(fā)后臺功能

          共 4877字,需瀏覽 10分鐘

           ·

          2022-07-24 21:43

          ??點擊“博文視點Broadview”,獲取更多書訊

          Python 長期穩(wěn)居編程語言排行的前五,不僅已經(jīng)成為數(shù)據(jù)分析、人工智能領域必不可少的工具,還被越來越多地公司用于網(wǎng)站搭建。Python 方向崗位的薪水在水漲船高,成為目前最有潛力的編程語言之一。

          目前,市場上的Python基礎書很多了,那你在學完Python基礎書后有沒有興趣用Python的Web框架Django來進行網(wǎng)站開發(fā)呢?

          本文將介紹商城系統(tǒng)后臺的需求分析、架構設計及數(shù)據(jù)庫設計。

          商城系統(tǒng)后臺,使用Django框架自帶的Admin后臺管理系統(tǒng)來實現(xiàn)。

          在創(chuàng)建好模型后,幾乎不寫一行代碼即可快速開發(fā)出商城系統(tǒng)的后臺功能。

          1

          商城系統(tǒng)后臺的設計分析

          商城系統(tǒng)后臺的設計分析,主要包含需求分析、架構設計和數(shù)據(jù)庫模型設計。

          1.需求分析

          商城系統(tǒng)后臺的功能如下圖所示。

          2.架構設計

          為實現(xiàn)商城系統(tǒng)后臺,采用Django框架作為服務器端的基礎框架,采用“HTML + CSS + JavaScript”搭建前端,數(shù)據(jù)庫采用MySQL,如下圖所示。

          3.數(shù)據(jù)庫模型設計

          準確了解用戶需求是整個系統(tǒng)設計的基礎,也是最困難、最耗費時間的一步。在了解清楚需求后,開始進行數(shù)據(jù)庫模型設計。模型設計分為邏輯模型設計和物理模型設計。

          • 邏輯模型設計:將業(yè)務需求具體化,實現(xiàn)具體業(yè)務場景所描述的東西。比如,用戶信息包括用戶姓名、性別和聯(lián)系電話等屬性,一個商品分類可以有0個、1個或多個商品。

          • 物理模型設計:針對邏輯模型分析的內(nèi)容,在具體的物理介質(zhì)上實現(xiàn)出來。比如,在MySQL數(shù)據(jù)庫中編寫SQL腳本建立用戶信息表。

          從邏輯模型到物理模型,是一個從抽象到具體、不斷細化完善的過程。一般使用PowerDesign或者PDMan進行數(shù)據(jù)庫的模型設計。

          (1)生成物理模型

          在PDMan中可以新增模型,設計商品分類表和商品表,如下圖所示。商品分類表和商品表是“一對多”關系。

          在模型設計完成后,可以導出DDL腳本,然后在指定數(shù)據(jù)庫中生成數(shù)據(jù)表。

          (2)反向生成Django模型

          在完成數(shù)據(jù)庫的物理模型設計后,可以根據(jù)物理模型反向生成Django模型。

          在VS Code終端控制臺中輸入如下命令:

          python manage.py inspectdb                  #輸出數(shù)據(jù)庫中的所有表到控制臺中python manage.py inspectdb > models.py    #輸出到models.py文件中

          當數(shù)據(jù)表中字段很多時,反向生成模型可以提高模型的編寫效率。

          2

          使用Django自帶的Admin后臺管理系統(tǒng)

          使用Django的Admin后臺管理系統(tǒng),不寫一行代碼即可完成數(shù)據(jù)的增加、刪除、修改和查詢。只要定義好模型,Django就能生成一個具備增加、刪除、修改和查詢功能的應用。這也是Django之所以非常流行的一個很大原因。如果對軟件界面效果要求不高,或者只是臨時做個界面錄入信息,則可以采用這種方式。

          Django自帶的Admin后臺管理系統(tǒng)可用于對網(wǎng)站中的各個模塊進行管理,比如文字、圖片、文件等的增加、刪除、修改和查詢。

          1.創(chuàng)建商城系統(tǒng)后臺項目

          新建一個項目myshop-back,接下來的操作都在該項目中完成。在該項目下創(chuàng)建一個apps目錄,用來放置所有的商城應用。

          (1)輸入如下命令創(chuàng)建應用。

          python manage.py startapp basic  #基礎應用python manage.py startapp goods  #商品應用python manage.py startapp users  #用戶應用python manage.py startapp order  #訂單應用

          創(chuàng)建完成后,將這4個應用目錄放到apps目錄下,如下圖所示。

          打開本書配套資源中的“settings.py”,在INSTALLED_APPS列表中增加商城系統(tǒng)后臺的相關應用,如以下代碼所示。

          INSTALLED_APPS = [    'apps.basic', #注意寫法    'apps.goods', #注意寫法    'apps.order', #注意寫法    'apps.users', #注意寫法]

          (2)創(chuàng)建商品分類模型和商品模型。

          打開本書配套資源中的“apps/goods/models.py”,新增模型類GoodsCategory和Goods,如以下代碼所示。

          class GoodsCategory(BaseModel):    id = models.AutoField(primary_key=True)    name=models.CharField(max_length=50,verbose_name='分類名稱',default='')    parent=models.ForeignKey("self", null=True,blank=True,verbose_name="父類",on_delete=models.DO_NOTHING,related_name="sub_cat")    logo=models.ImageField(verbose_name="分類logo圖片",upload_to= "uploads/goods_img/")    is_nav=models.BooleanField(default=False,verbose_name='是否顯示在導航欄')    sort=models.IntegerField(verbose_name='排序')



          class Goods(models.Model): STATUS=( (0,'正常'), (1,'下架'), ) name = models.CharField(max_length=50,verbose_name='商品名稱', default='') category=models.ForeignKey(GoodsCategory,blank=True,null=True, verbose_name='商品分類',on_delete=models.DO_NOTHING) market_price = models.DecimalField(max_digits=8,default=0, decimal_places=2,verbose_name='市場價格') price = models.DecimalField(max_digits=8, decimal_places=2,default=0,verbose_name='實際價格') status=models.IntegerField(default=0,choices=STATUS)

          限于篇幅,其他模型不一一列出,讀者可以查閱本書配套資源中的代碼。接下來繼續(xù)配置Admin后臺管理系統(tǒng)。

          2.登錄Admin后臺管理系統(tǒng)

          在登錄Admin后臺管理系統(tǒng)前,需要創(chuàng)建一個管理員用戶。在VS Code終端界面輸入如下命令,之后根據(jù)命令提示輸入用戶名和密碼即可完成用戶的注冊。郵箱可以不用輸入。

          python manage.py createsuperuser

          接下來就可以登錄Admin后臺管理系統(tǒng)了。訪問Admin后臺管理系統(tǒng)“http://localhost:8000/admin/”,使用剛才創(chuàng)建的管理員用戶名和密碼進行登錄,登錄后的界面如下圖所示。

          3.配置Admin后臺管理系統(tǒng)

          默認用戶模型和組模型會在Admin后臺管理系統(tǒng)中顯示出來,其他的模型還需要在每個應用中設置相應的文件才能正常顯示。

          (1)設置apps.py文件

          打開本書配套資源中的“goods/apps.py”,在其中添加如下代碼。

          from django.apps import AppConfigclass GoodsConfig(AppConfig):    name = 'apps.goods'    verbose_name="商品管理"

          這樣,“商品管理”會顯示在Admin后臺管理系統(tǒng)中的左側菜單導航中。

          (2)設置__init__.py文件

          打開本書配套資源中的“goods/__init__.py”,在其中添加如下代碼。

          from .apps import GoodsConfigdefault_app_config = 'apps.goods.GoodsConfig'

          __init__.py是應用的初始化文件。在該文件中設置default_app_config變量,用來指向apps.py文件中定義的AppConfig類。

          (3)設置admin.py文件

          打開本書配套資源中的“goods/admin.py”,在其中添加如下代碼。

          from django.contrib import adminfrom apps.goods.models import *@admin.register(GoodsCategory)class GoodsCategoryAdmin(admin.ModelAdmin):    admin.site.site_title="我的特產(chǎn)商城后臺"    admin.site.site_header="我的特產(chǎn)商城后臺"    admin.site.index_title="商城平臺管理"    #設置列表中顯示的字段    list_display=['name','logo','sort','create_time']    #搜索    search_fields=['name','parent_id']    #過濾    list_filter=['name','parent_id']    #設置日期選擇器    date_hierarchy='create_time'    #設置每頁現(xiàn)實的數(shù)據(jù)量    list_per_page=10    #設置排序    ordering=['sort']@admin.register(Slide)class SlideAdmin(admin.ModelAdmin):    #設置列表中顯示的字段    list_display=['goods_id','sort','images']

          上述代碼的實現(xiàn)過程如下。

          (1)自定義一個繼承自ModelAdmin的類。該類用來在Admin后臺管理系統(tǒng)中顯示模型。

          (2)使用裝飾器將模型類Goods和GoodsAdmin關聯(lián)起來,并注冊到Admin后臺管理系統(tǒng)中。

          admin.py用于將項目應用定義的模型獨享注冊,并綁定到Admin后臺管理系統(tǒng)中。注冊后,Admin后臺管理系統(tǒng)自動擁有了該模型對應數(shù)據(jù)表的增加、刪除、修改和查詢功能。

          刷新Admin后臺管理系統(tǒng)界面,如下圖所示??梢钥吹皆谧髠鹊牟藛巍吧唐饭芾怼毕鲁霈F(xiàn)了商品信息、商品分類和首頁輪播等二級菜單。

          單擊左側菜單中的“商品分類”鏈接,右側會顯示商品分類列表數(shù)據(jù)。商品分類列表數(shù)據(jù)按照在代碼中定義的規(guī)則進行顯示,如下圖所示。

          此外,還可以對商品分類表和商品表進行數(shù)據(jù)維護,如下三圖所示。

            

          感興趣的讀者可以動手試試Django的Admin后臺管理系統(tǒng)中的其他功能。

          本文摘自《Django + Vue.js實戰(zhàn)派――Python Web開發(fā)與運維》,更多精彩內(nèi)容歡迎閱讀本書!


          限時五折

          掃碼查看本書詳情


           

          如果喜歡本文
          歡迎 在看留言分享至朋友圈 三連

           熱文推薦  





          ▼點擊閱讀原文,了解本書詳情~

          瀏覽 14
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          Layui-Admin后臺快速開發(fā)框架
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产男女啪啪网站 | 日韩三级电影网站 | 翔田千里珍藏版无码 | 中文字幕在线观看视频一区 | 亚洲无吗免费在线观看 |