目录
VISION在线电影网站一1(需求分析)
VISION在线电影网站一2(效果展示)
VISION在线电影网站一3(数据库实现)
VISION在线电影网站一4(django具体实现)
VISION在线电影网站一5(源码)
需求分析
一、用户模块
用户角色:
游客:无需登录注册,可以看影讯,可以搜索电影、不能免费观看电影
用户:登录注册,可以看影讯,搜索电影,免费观看电影
管理员:对电影的增删改查、对用户的查询
页面分配:
主页:
搜索电影,通过关键字搜索(模糊查询),搜索电影名、主演名、导演名、电影类型
电影分类,需要电影分类的导航菜单
电影详情页:
显示电影海报、电影名、主演名、导演名、国别、时长、剧情简介等信息
在线播放按钮,如果是游客身份,则显示“登录观看”,如果是用户身份,则显示“在线观看”,进入到播放页
电影播放页:
播放电影
弹幕,发送弹幕的输入框、开关弹幕的按钮、弹幕显示区域
后台管理页:
登录,管理员账号是不允许注册的
对电影的管理,增删改查
对用户的管理,查询用户
二、数据库设计
User(用户)
U_id 主键ID 自增 不为空
U_username 用户名 不为空 唯一(unique)
U_password 密码 不为空
U_tel 绑定手机
U_email 邮箱
U_gender 性别
U_age 年龄
U_nickname 昵称
U_head_url 头像
Movie(电影)
M_id 主键ID 自增 不为空
M_name 电影名 不为空
M_actors 主演
M_directors 导演
M_nation 国别
M_releaseDate 上映时间
M_duration 时长
M_introduce 电影介绍
M_scenario 剧情介绍
M_poster 海报地址
M_score 电影评分
M_link 电影链接(资源)
M_type 电影类型 不为空
Comment(评论/弹幕)
C_id 主键ID 自增 不为空
C_m_id 电影表外键 不为空
C_u_id 用户表外键 不为空
C_ctime 发布时间(针对现实时间)
C_playtime 播放时间(针对放映时长) 不为空
C_content 评论(弹幕)内容 不为空
三、技术调研
django: python前后端不分离的框架
MTV模式
M——Model 负责数据库交互
T——Template 负责前台页面显示
V——View 业务逻辑处理
除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template。
四、项目配置
Settings.py 是项目的整体配置文档
-
配置所有主机均可访问
ALLOWED_HOSTS = [’*’] -
将创建的APP配置到项目中
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘movie_app’
] -
配置数据库
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘movie_db’,
‘HOST’: ‘127.0.0.1’,
‘PORT’: ‘3306’,
‘USER’: ‘root’,
‘PASSWORD’: ‘root’,
}
} -
配置语言环境和时区
LANGUAGE_CODE = ‘zh-Hans’
TIME_ZONE = ‘Asia/Shanghai’ -
若出现需导入pymysql模块,
并调用pymysql.install_as_MySQLdb()
import os,pymysql
pymysql.install_as_MySQLdb() -
整理项目目录
目录说明:
manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
settings.py: 该 Django 项目的设置/配置。
urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。