目录预览

一:项目介绍

二:功能简介

三:安装部署

创建项目

依赖包安装

数据库配置

创建超级用户(可选)

开始运行

在线样例

四:前端页面及后端部分代码展示

首页展示

登录页展示

注册页展示

个人主页展示

五:项目源码下载

 

一:项目介绍

天天生鲜项目是一个基于python3.9和django2.7.0搭建的小型电子商城购物网站系统,适合django小型实战练习或毕业设计参考等。商城包含前端购物网页和后台管理系统,项目源码放在文章最后,需要的小伙伴自取即可(一键三连,无偿分享!)

二:功能简介

  • 商品浏览:商品的图片,售价,种类,简介以及库存等信息。
  • 全文检索:支持对商品种类以及商品名称,简介的检索。
  • 登录注册:用户的登录与注册。
  • 用户中心:支持用户个人信息,收货地址等信息的更新,商品加入购物车,订单生成。
  • 商品下单:在支付接口和企业资质的支持下可完成商品的下单功能,按照原子事务处理,下单异常则终止此次下单过程。
  • 后台管理:支持后台管理功能,商品及用户信息的增加,更新与删除,可自定制样式与功能,日志,以及权限的管理和分配。

三:安装部署

创建项目

进入pycharm点击文件-新建项目,选择解压后的文件路径作为项目存放路径,创建虚拟环境。

依赖包安装

下载文件进入项目目录(daily_fresh_demo-master)之后,在终端使用pip安装依赖包

pip install -Ur requirements.txt
Django==2.0.7
django-tinymce==2.7.0
Pillow==8.3.2
pytz==2018.7

数据库配置

数据库默认使用Django项目生成时自动创建的小型数据库sqlite,无需配置直接运行即可!

也可自行配置连接使用MySQL

创建超级用户(可选)

终端下执行:

./python manage.py createsuperuser

然后输入相应的超级用户名以及密码,邮箱即可。

开始运行

终端下执行:

python manage.py runserver

该命令会调用mange.py文件允许,manger.py部分代码如下:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "daily_fresh_demo.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

浏览器打开: http://127.0.0.1:8000即可进入普通用户入口

浏览器打开: http://127.0.0.1/admin 即可进入超级用户(后台管理)入口

在线样例

测试用户地址

http://127.0.0.1:8000

测试用户账号

账号:test1 密码:test1

管理人员入口

http://127.0.0.1:8000/admin

管理用户账号

账号:admin 密码:admin123

四:前端页面及后端部分代码展示

首页展示

def index(request):
    # 查询各个分类的最新4条,最热4条数据
    typelist = TypeInfo.objects.all()
    #  _set 连表操作
    type0 = typelist[0].goodsinfo_set.order_by('-id')[0:4]  # 按照上传顺序
    type01 = typelist[0].goodsinfo_set.order_by('-gclick')[0:4]  # 按照点击量
    type1 = typelist[1].goodsinfo_set.order_by('-id')[0:4]
    type11 = typelist[1].goodsinfo_set.order_by('-gclick')[0:4]
    type2 = typelist[2].goodsinfo_set.order_by('-id')[0:4]
    type21 = typelist[2].goodsinfo_set.order_by('-gclick')[0:4]
    type3 = typelist[3].goodsinfo_set.order_by('-id')[0:4]
    type31 = typelist[3].goodsinfo_set.order_by('-gclick')[0:4]
    type4 = typelist[4].goodsinfo_set.order_by('-id')[0:4]
    type41 = typelist[4].goodsinfo_set.order_by('-gclick')[0:4]
    type5 = typelist[5].goodsinfo_set.order_by('-id')[0:4]
    type51 = typelist[5].goodsinfo_set.order_by('-gclick')[0:4]

    cart_num = 0
    # 判断是否存在登录状态
    # if request.session.has_key('user_id'):
    if 'user_id' in request.session:
        user_id = request.session['user_id']
        cart_num = CartInfo.objects.filter(user_id=int(user_id)).count()

    context = {
        'title': '首页',
        'cart_num': cart_num,
        'guest_cart': 1,
        'type0': type0, 'type01': type01,
        'type1': type1, 'type11': type11,
        'type2': type2, 'type21': type21,
        'type3': type3, 'type31': type31,
        'type4': type4, 'type41': type41,
        'type5': type5, 'type51': type51,
    }

    return render(request, 'df_goods/index.html', context)

登录页展示

def login(request):
    uname = request.COOKIES.get('uname', '')
    context = {
        'title': '用户登陆',
        'error_name': 0,
        'error_pwd': 0,
        'uname': uname,
    }
    return render(request, 'df_user/login.html', context)

注册页展示

def register(request):

    context = {
        'title': '用户注册',
    }
    return render(request, 'df_user/register.html', context)

个人主页展示

@user_decorator.login
def info(request):  # 用户中心
    username = request.session.get('user_name')
    user = UserInfo.objects.filter(uname=username).first()
    browser_goods = GoodsBrowser.objects.filter(user=user).order_by("-browser_time")
    goods_list = []
    if browser_goods:
        goods_list = [browser_good.good for browser_good in browser_goods]  # 从浏览商品记录中取出浏览商品
        explain = '最近浏览'
    else:
        explain = '无最近浏览'

    context = {
        'title': '用户中心',
        'page_name': 1,
        'user_phone': user.uphone,
        'user_address': user.uaddress,
        'user_name': username,
        'goods_list': goods_list,
        'explain': explain,
    }
    return render(request, 'df_user/user_center_info.html', context)

更多页面小伙伴们可自行探索。。。

五:项目源码下载

下载链接:https://pan.xunlei.com/s/VOeV1ABhJBBoMPGqpju12LC7A1?pwd=rzc9
点赞加收藏,礼貌自取哦❥(^_-)~

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐