Python篇:一个简单完整的Django小项目搭建与实现思路

  • 涉及:Python 3 + Django2.2 + mysql 5.7 + PyCharm
  • 实现思路:业务逻辑分析 + 数据库设计 + Django框架搭建 + 后台管理开发 + 网站功能实现 + 网站优化
  • 本文以微课商城web项目为例

行程开始:

1. 梳理业务流程,即需要实现的功能主线

    涉及主体:用户User、课程种类Category、课程Course

    实现功能:后台管理(用户管理 + 课程管理)

                     网站(用户注册登录 + 课程浏览 + 课程购买 + 课程观看)

 

 

2. 使用pycharm搭建Django项目,实现基本配置

  • 新建Django项目

       打开pycharm,【file】-【new project】-【Django】

  • 配置settings

       打开settings.py,进行常用配置(语言、时区等)

  • 运行空项目,查看框架是否搭建成功
# 项目运行
python manage.py runserver

 

 

3. 数据库设计

  • 分析主体之间的表关系

       用户与课程:多对多,一个用户可以购买多个课程,一个课程也可以被多个客户购买

       课程种类与课程:一对多,一个课程种类可以包含多个课程,一个课程只能属于一个课程种类

  • 创建数据库

       使用pycharm中database工具,新建mysql数据库链接,create database 创建数据库

       在settings.py中配置databases链接

# settings.py 配置mysql数据链接

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': 'localhost',
        'PORT': '3306',
        'NAME': 'course',
        'USER': 'root',
        'PASSWORD': '123456',
    }
}

       app文件夹下models中编写模型类代码,生成和执行迁移文件

# 生成迁移文件
python manage.py createmigrations

# 执行迁移文件
python manage.py migrate

 

 

4. 配置Djangog管理平台

  • 启动项目,访问Django管理平台

       浏览器访问:http://服务器host:端口/.../admin        出现登录界面

       创建超级管理员,登录管理平台

# 创建Django管理平台超级管理员
python manage.py createsuperuser
  • 配置模型类管理模块

       找到app中的 admin.py文件,注册对应的模型类

# admin.py 注册模型类

@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
    list_display = ['name']
    search_fields = ['name']
  • 后台中文显示配置

      Title显示:选择其中一个app的 admin.py文件进行配置即可

      模块类标题中文显示:apps.py文件中设置

      表内容中文显示:models.py文件中设置

 

 

5. 网站功能实现

  • 配置路由与视图

        path与repath

  • 功能实现

        页面模板文件:base.html   减少重复页面代码

# base.html 模板页面引用
{% extends 'base.html' %}


# block title 页面模块重写
{% block title %}
    xxxxxxxx
{% endblock %}

       settings.py 页面静态资源路径设置

# 文件路径设置
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

       数据渲染

       中间件(MiddlewareMixin):用于处理Django的请求与响应,在视图函数执行之前和执行之后做一些额外的操作。

       视频传输:StreamingHttpResponse

 

 

6.网站优化 

  • 用户权限判断:中间件中实现

 

行程结束


新手上路,请多指教,欢迎留言指正交流.....................

你可能感兴趣的:(Python篇)