行程开始:
1. 梳理业务流程,即需要实现的功能主线
涉及主体:用户User、课程种类Category、课程Course
实现功能:后台管理(用户管理 + 课程管理)
网站(用户注册登录 + 课程浏览 + 课程购买 + 课程观看)
2. 使用pycharm搭建Django项目,实现基本配置
打开pycharm,【file】-【new project】-【Django】
打开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管理平台
浏览器访问: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.网站优化
行程结束
新手上路,请多指教,欢迎留言指正交流.....................