目录
一、项目介绍
1.1项目背景介绍
近几年来,网络事业,特别是Internet发展速度之快是任何人都始料不及的。目前,由于Internet表现出来的便捷,快速等诸多优势,已经使它成为社会各行各业,甚至是平民大众工作,生活不可缺少的一个重要组成部分。
随着社会的发展线下管理的方式已经不可避免的显示出它在时间与空间等方面的局限性,广大的用户迫切的需要打破这种局限性。在这种要求下,基于网络的电子商务产生了。它的出现不但解决了传统管理方式的缺点,而且给了广大用户更大的选择空间,促进了电影的优化管理,有效的避免了电影管理缭乱的局面。所以像电影论坛系统这种电子商务的发展壮大也是不可避免的。
电影论坛系统作为一种典型的电子商务系统也迅速的发展并深入人们的日常生活中,它使用户足不出户就可以管理自己的电影信息等,最大化减缩了用户的管理时间,提高了管理效率。
1.2课题研究现状
在国外很多发达国家,软件产业早已得到全面普及,但我国经济已不断发展,不断引进国外信息化建设,使国内软件行业得以不断发展,在摸索中进步,最终也得到一些成果,我国的软件业迎来了高速的发展,使更多的软件系统得以开发出来,从此逐渐地改变人们的生活工作方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的电影论坛系统开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的电影论坛系统,来实现行电影信息化。因此本课题以电影为例,目的是开发一个实用的电影论坛系统。
电影论坛系统的开发运用Python技术,MIS的总体思想,以及MYSQL等技术的支持下共同完成了该系统的开发,实现了电影信息化,使用户体验到更优秀的电影论坛系统,管理员管理操作将更加方便,实现目标。
下面是资料信息截图:
二、功能模块
根据现实需要,此系统我们设计出一下功能,主要有以下功能模板。
(1)前台功能:首页、电影、电影论坛、公告信息、后台管理。
(2)管理员功能:首页、个人中心、用户管理、电影管理、电影分类管理、电影信息管理、电影论坛、系统管理。
在系统的功能设计方面,电影论坛系统的设计目标是便于用户可以观看电影,因此抽取了满足管理员、用户基本业务需求的基本用例,如图3-1、3-2所示。
管理员界面
管理员登录系统后,可以对首页、个人中心、用户管理、电影管理、电影分类管理、电影信息管理、电影论坛、系统管理等功能进行相应操作,如图5-2所示。
图5-2管理员功能界图面
5.2.2用户管理
管理员可以对用户的信息进行删除、修改操作。程序成效图如下图5-3所示:
电影管理
管理员可以对电影进行删除、修改等操作。并且可以爬取指定网站的数据,程序效果图如下图5-4所示:
图5-4电影管理界面
5.2.4 电影分类管理
管理员可以对电影进行分类。程序效果图如下图5-5所示:
三、代码介绍
注册模块相关代码
# coding:utf-8
__author__ = "ila"
from django.http import JsonResponse
from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes
def users_login(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
if req_dict.get('role')!=None:
del req_dict['role']
datas = users.getbyparams(users, users, req_dict)
if not datas:
msg['code'] = password_error_code
msg['msg'] = mes.password_error_code
return JsonResponse(msg)
req_dict['id'] = datas[0].get('id')
return Auth.authenticate(Auth, users, req_dict)
def users_register(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_session(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}
req_dict = {"id": request.session.get('params').get("id")}
msg['data'] = users.getbyparams(users, users, req_dict)[0]
return JsonResponse(msg)
def users_logout(request):
if request.method in ["POST", "GET"]:
msg = {
"msg": "退出成功",
"code": 0
}
return JsonResponse(msg)
def users_page(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code,
"data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
req_dict = request.session.get("req_dict")
tablename = request.session.get("tablename")
try:
__hasMessage__ = users.__hasMessage__
except:
__hasMessage__ = None
if __hasMessage__ and __hasMessage__ != "否":
if tablename != "users":
req_dict["userid"] = request.session.get("params").get("id")
if tablename == "users":
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = users.page(users, users, req_dict)
else:
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = [],1,0,0,10
return JsonResponse(msg)
def users_info(request, id_):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
data = users.getbyid(users, users, int(id_))
if len(data) > 0:
msg['data'] = data[0]
# 浏览点击次数
try:
__browseClick__ = users.__browseClick__
except:
__browseClick__ = None
if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
ret = users.updatebyparams(users, users, click_dict)
if ret != None:
msg['code'] = crud_error_code
msg['msg'] = ret
return JsonResponse(msg)
def users_save(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_update(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
if req_dict.get("mima") and req_dict.get("password"):
if "mima" not in users.getallcolumn(users,users):
del req_dict["mima"]
if "password" not in users.getallcolumn(users,users):
del req_dict["password"]
try:
del req_dict["clicknum"]
except:
pass
error = users.updatebyparams(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_delete(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
error = users.deletes(users,
users,
req_dict.get("ids")
)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
用户登录相关代码:
import { DataTypes } from 'sequelize'
import sequelize from './sequelize'
const ConfigModel = sequelize.define('ConfigModel', {
id: {
type: DataTypes.BIGINT,
primaryKey: true,
autoIncrement: true,
allowNull: false,
comment: '主键id'
},
name: {
type: DataTypes.STRING,
allowNull: false,
comment: '配置参数名称'
},
value: {
type: DataTypes.STRING,
allowNull: true,
comment: '配置参数值'
}
}, {
timestamps: false,
freezeTableName: true,
tableName: 'config'
})
export default ConfigModel