Django学习---2.商城设计说明和配置

学习项目地址:   GitHub - xyjw/Django3-Web: Django book 

商品信息表
表字段字段类型含义
idint 长度11primary key name 
namevarchar 长度100商品名称 
sezesvarchar 长度100商品规格
types  varchar 长度100商品类型
pricefloat  商品价格
discountfloat商品折后价格
stockint库存
soldint销量
likesint 收藏数量
createddate 上架时间
imgvarchar 长度100(路径地址)  商品主图
detailsvarchar 长度100(路径地址) 商品描述

商品类别表
表字段字段类型含义
idint 长度11primary key
firstsvarchar 长度100一级分类
secondsvarchar 长度100二级分类

购物车信息表
表字段字段类型含义
idint 长度11primary key
quantityint购买数量
commondityInfos_idint 长度11商品表信息主键
user_idint 长度11Django内置用户表主键id

订单信息表
表字段字段类型含义
idint 长度11primary key
pricefloat 长度11订单总价
createeddate订单创建时间
user_idint 长度11Django内置用户表主键id
statevarchar 长度20订单状态

搭建项目开发环境 

将项目命名为Babys, 在windows CMD 命令输入Django项目创建指令,在新建的项目中创建项目应用(APP)index(网站首页功能)、commodity(商品列表和商品详细也)、shopper(购物车,个人中心、登陆注册、在线支付等)

d:  进入D盘

dir:查看

cls: 清屏

cd 目录名 进入目录

 

 分别创建三个项目应用(APP)index、commodity、shopper

python manage.py startapp index

说明:media是网站的媒体资源库,存放图片和详细介绍图;pstatic是存放静态资源,如CSS、JavaScript、网站的界面图片;templates存放网站的HTML模板文件,即网页文件

media文件夹下创建文件夹imgs、details

pstatic文件夹下创建文件夹css、img、js、layui

templates文件夹下存放6个HTML文件:

        index.html;login.html; commodity.html; details.html; shopper.html; shopcar.html


项目的功能配置 

文件夹media,pstatic,templates是我们自行创建的Django运行中无法识别,需要在Django配置文件中settings.py添加这样文件夹  

配置文件解释:

 添加项目信息

 设置模板信息

模板是较为特殊的HTML文档,配置模板路径是为了告诉Django在解析模板时如何找到模板所在的位置。

 

添加中间件

Django接收到用户请求时,首先经过中间件处理请求信息,然后将结果返回给用户。

一般情况Django默认的中间件配置能满足大部分需求,我们项目的MIDDLEWARE中添加LocaleMiddleWare中间件,使Django内置功能支持中文显示  注意顺序别错了

# 添加中间件LocaleMiddleware
'django.middleware.locale.LocaleMiddleware',

配置数据库

Django项目支持的数据库PostgreSQL, MySQL, Sqlite3, Oracle如果要使用其他数据库MSSQL,Redis等需要自习安装第三方插件。Django提供四种数据库引擎

'django.db.backends.postgresql'
'django.db.backends.mysql'
'django.db.backends.sqlite3'
'django.db.backends.oracle'

此次项目使用MYSQL数据库,首先保证本地安装MYSQL数据库,然后再安装MYSQL连接模块,

Django可以使用mysqlclient和pymysql模块实现MYSQL连接

 pip install mysqlclient   Mysql之前安装过。。

修改数据库配置信息: 

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'babys',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'POST': '3306',
    }
}


 配置静态资源

 静态资源(css文件,JS文件,不经常变动资源)的配置主要由配置属性STATIC_URL, STATICFILES_DIRS, STATIC_ROOT完成

默认情况下Django只配置了STATIC_URL 项目在开发过程中必然会使用到CSS文件和JavaScript文件,Django默认配置信息:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.0/howto/static-files/

STATIC_URL = 'static/'

 但是我们发现在项目应用目录下并没有static文件夹,创建项目应用时候并不会自动生成,Django在调试模式下(DEBUG=True)下只能识别项目应用static文件夹下的静态资源,项目启动时由 staticfiles来查找项目静态资源

 解决办法:将资源文件夹此(之前创建的pstatic文件夹)写入资源集合STATICFILES_DIRS如下:

# 添加并配置属性STATICFILES_DIRS
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'pstatic'))

 STATIC_ROOT,是在项目部署服务器时使用,即(DEBUG=Flase)时才生效,主要是收集项目的整个静态资源并存放在一个新的文件夹下面(使用Django操作指令collectstatic),配置如下

# 当项目处于开发阶段DEBUG=True时,STATIC_ROOT是无效的
STATIC_ROOT = os.path.join(BASE_DIR, 'AllStatic')

 配置媒体资源

对于经常变动的资源叫做动态资源如用户头像,商品主图,商品详细介绍图。有二个相关属性:MEDIA_URL, MEDIA_ROOT;

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

 配置好属性后还需要将media文件夹注册到Django里让Django知道如何找到媒体文件(有点麻烦,配置属性不就可以了吗??)

from django.conf import settings
from django.contrib import admin
from django.urls import path, re_path
from django.views.static import serve

urlpatterns = [
    path('admin/', admin.site.urls),
    # 配置媒体资源的路由信息
    re_path('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}, name='media'),
]


文件下载:   GitHub - xyjw/Django3-Web: Django book 

测试

http://127.0.0.1:8000/static/css/main.css
http://127.0.0.1:8000/media/imgs/p1.jpg

 

 页面没找到???待解决!!


内置指令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值