一起自学django:2.创建项目框架

创建项目框架:
1.创建一个新的项目:shop_erp【商店管理系统】
在项目存放路径执行cmd指令:

django-admin startproject shop_erp

2.给这个shop_erp项目创建应用模块(app):shops【商店集】goods【货物】

这里的app和我们平时用的app有区别,平时:app–>应用软件,这里:app–>某个软件内的某个模块

在项目路径下执行cmd指令:

python manage.py startapp shops
python manage.py startapp goods

3.编辑项目shop_erp路径下的settings.py文件,在INSTALLED_APPS中配置好:
#为了便于上手使用,这里的rest_framework是指一个便于学习的框架【django rest framework】

INSTALLED_APPS = [
    ...
    'rest_framework',
    'shops',   
    'goods'
]

4.然后我们给这两个模块创建下初始的数据表单模型
[django框架对应app下面的model文件]

shops商店模块下的models内写入Bshop表单模型

from django.db import models
from django.contrib import admin
#创建表单模型
class Bshop(models.Model):
    #标识属性
    num  = models.AutoField(verbose_name=u'序号',primary_key=True)
    name = models.CharField(verbose_name=u'店名',max_length=100,blank=True)
    #分类属性
    where = models.CharField(verbose_name=u'店址',max_length=100,blank=True)
    near = models.CharField(choices=(('A',u'购物中心'),('B',u'步行街'),('C',u'商业街'),('D',u'其他')),verbose_name=u'商圈',max_length=100,blank=True)
    #系统参数
    puttime  = models.DateTimeField(verbose_name=u"录入",auto_now_add=True,blank=True)   #记录录入时间
    changetime=models.DateTimeField(verbose_name=u"修改",auto_now=True,blank=True)       #记录修改时间
    class Meta:
        ordering = ['num']      #要上面有的,按照这个属性进行排序,加个负号为倒序
        verbose_name = '门店表单'    #表示要显示的应用模块的中文名        
        verbose_name_plural = verbose_name   # 表示已经是复数形式不用再自动加S

goods商品模块下的models内写入Bgood表单模型

from django.db import models
from django.contrib import admin
#创建表单模型
class Bgood(models.Model):
    #标识属性
    goodnum  = models.AutoField(verbose_name=u'序号',primary_key=True)
    goodname = models.CharField(verbose_name=u'品名',max_length=100,blank=True)
    #分类属性
    style = models.CharField(verbose_name=u'款式',max_length=100,blank=True)
    colour = models.CharField(verbose_name=u'颜色',max_length=100,blank=True)
    size = models.CharField(verbose_name=u'尺码',max_length=100,blank=True)
    money = models.CharField(verbose_name=u'价格',max_length=100,blank=True)
    #系统参数
    puttime  = models.DateTimeField(verbose_name=u"录入",auto_now_add=True),blank=True   #记录录入时间
    changetime=models.DateTimeField(verbose_name=u"修改",auto_now=True,blank=True)       #记录修改时间
    class Meta:
        ordering = ['goodnum']      #要上面有的,按照这个属性进行排序,加个负号为倒序
        verbose_name = '商品表单'    #表示要显示的应用模块的中文名        
        verbose_name_plural = verbose_name   # 表示已经是复数形式不用再自动加S

5.然后分别在这两个models下面配置一下,以便于在浏览器的admin上进行测试:

shops/models.py

#在admin注册
@admin.register(Bshop)
class SiteAdminModel(admin.ModelAdmin):
    """
    注册商品明细模型到admin
    """
    # 添加分页
    list_per_page = 50

    # 列表页展示的字段
    list_display = ('num','name','where','near','puttime','changetime')
    # 搜索框
    search_fields=('name',)

goods/models.py

#在admin注册
@admin.register(Bgood)
class SiteAdminModel(admin.ModelAdmin):
    """
    注册商品明细模型到admin
    """
    # 添加分页
    list_per_page = 50

    # 列表页展示的字段
    list_display = ('goodnum','goodname','style','colour','size','money','puttime','changetime')
    # 搜索框
    search_fields=('goodname',)

6.在对应应用模块的__init__.py文件中写入,用来指定项目的别名

shops/init.py

from django.apps import AppConfig
import os
default_app_config = 'shops.shopsConfig'      #项目名.apps里面的对应模块
# 获取apps所在文件夹名字,如果文件夹名字修改,这里可以动态调整
def get_current_app_name(_file):
    return os.path.split(os.path.dirname(_file))[-1]
 
class shopsConfig(AppConfig):                 #需要修改名字的项目
    # 这里apps所在文件夹名字直接固定,如果更改则也需要调整
    # name = 'df_goods'
    name = get_current_app_name(__file__)
    verbose_name = '店铺明细'    

goods/init.py

from django.apps import AppConfig
import os
default_app_config = 'goods.goodsConfig'      #项目名.apps里面的对应模块
# 获取apps所在文件夹名字,如果文件夹名字修改,这里可以动态调整
def get_current_app_name(_file):
    return os.path.split(os.path.dirname(_file))[-1]
 
class goodsConfig(AppConfig):                 #需要修改名字的项目
    # 这里apps所在文件夹名字直接固定,如果更改则也需要调整
    # name = 'df_goods'
    name = get_current_app_name(__file__)
    verbose_name = '商品明细'            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

isSamle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值