面向ACM竞赛裁判、选手、赛场工作人员的综合web服务
提供pc2(Programming Contest Control System)中没有的打印代码、赛场指令等技术支持
功能清单:
- [裁判端]配置比赛,导入参赛队伍名单,导出获奖信息;
- [选手端]排行榜,打印代码服务;
- [赛场工作人员端]气球状态,大屏幕倒计时及赛场指令,大屏幕滚动排行榜。
sudo pip install Django==1.9
sudo apt-get install mysql-server
sudo apt-get install libmysqld-dev
sudo apt-get install python-dev
sudo pip install mysql-python
在sdacm/sdacm/settings.py下的DATABASES设置数据库选项
使用django的ORM机制建立数据库表:
- python manage.py syncdb
Django 1.7.1及以上的版本需要用以下命令
- python manage.py makemigrations
- python manage.py migrate
在sdacm/config.py下设置比赛选项, 包括:
- pc2的路径
- 比赛时间
- 比赛奖项安排
- 比赛气球安排
- 打印机配置(需要与系统设置的打印机名称一致)
执行sdacm/start.sh脚本,启动服务(需要手动输入root密码)
首先需要启动pc2board, 以生成results.xml
将比赛队伍信息按照user.txt格式准备好, 打开http://localhost/master,用django的管理员账户登录,选择“导入数据”,将准备好的队伍信息表上传
http://localhost/admin,用django的管理员账户登录,增加气球端账户ballonserver, 此账户用于登陆http://localhost/ballon