《校園十大優秀青年評比》課程設計作品——順利通過!!!

致讀者: 博主是一名數據科學與大數據專業大二的學生,真正的一個互聯網萌新,寫博客一方面是爲了記錄自己的學習過程中遇到的問題和思考,一方面是希望能夠幫助到很多和自己一樣處於困惑的讀者。
> 由於水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!之後會寫大數據專業的文章哦。
GitHub鏈接https://github.com/wfy-belief
儘管現在我的水平可能還不太及格,但我會盡我自己所能,做到最好☺
。——天地有正氣,雜然賦流形。下則爲河嶽,上則爲日星。


項目部署指南

·python 3.7.2
·Django 3.0.7
·django-echarts 0.3.6
·PyMySQL 0.9.3
·pyecharts 1.8.1
·瀏覽器都可,推薦Google
·MySQL 服務端5.7/8.0+
·Ubuntu 18.04 Linux系統

提交頁展示

IP:端口號:submit
在這裏插入圖片描述

投票頁展示

IP:端口號:votes
在這裏插入圖片描述

排名頁展示

IP:端口號:rank
在這裏插入圖片描述

後臺管理頁

IP:端口號:admin
在這裏插入圖片描述
在這裏插入圖片描述

防火牆

https://www.myfreax.com/how-to-disable-firewall-on-ubuntu-18-04/

使用ufw disable命令:

sudo ufw disable

輸出將如下所示:

Firewall stopped and disabled on system startup

以上命令將停止並禁用防火牆,但不會刪除防火牆規則。下次啓用防火牆時,將加載相同的規則。

如果要禁用防火牆並刪除所有防火牆規則,請使用ufw reset命令:

sudo ufw reset

系統會提示您是否要繼續操作:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? 
Backing up 'user.rules' to '/etc/ufw/user.rules.20190122_115214'
Backing up 'before.rules' to '/etc/ufw/before.rules.20190122_115214'
Backing up 'after.rules' to '/etc/ufw/after.rules.20190122_115214'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20190122_115214'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20190122_115214'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20190122_115214'

當您要還原所有更改並重新開始時,重置UFW防火牆非常有用。

環境

安裝環境

apt-get remove python3
apt-get update
apt-get upgrade
apt install python3.7

將python3指向python3.7

cd /usr/bin
rm /usr/bin/python3
ln -s python3.7 python3

image-20200617182151414

3、pip安裝

apt-get install python3-pip

安裝django

pip3 install pyecharts
pip3 install django
pip3 install pymysql
pip3 install django_echarts

安裝MySQL

卸載方法https://ywnz.com/linuxysjk/3141.html

https://blog.csdn.net/qq_42468130/article/details/88595418

apt-get install mysql-server -y

進入MySQL第一次輸入密碼即爲默認

mysql -u root -p

安裝庫

create database info default charset=utf8;

新建用戶賦予權限

create user 'user01'@'%' identified by '666666';
grant all privileges on *info* to 'user01'@'%' identified by '666666';
flush privileges;

配置文件

image-20200617184418095

安裝git和下載項目

apt install git
git clone https://github.com/wfy-belief/CurriculumDesign.git

修改數據庫配置

cd CurriculumDesign/mysite/mysite
vim settings.py

image-20200617185313439

最後一個是本機IP

image-20200617185515909

修改即可

創建表結構

cd ..
python3 manage.py migrate 

image-20200617185904521

出現如下錯誤,我們修改原碼,註釋下面的兩行

vim /usr/local/lib/python3.7/dist-packages/django/db/backends/mysql/base.py

image-20200617190047542

python3 manage.py migrate 

image-20200617190701533

出現報錯

/etc/mysql/mysql.conf.d
vim mysqld.cnf 

image-20200617190759061

註釋掉

python3 manage.py migrate 

後臺管理員

python3 manage.py createsuperuser

運行服務

python3 manage.py runserver 0:8889

源代碼及項目地址

https://github.com/wfy-belief/CurriculumDesign可以給我一個star嗎♥

附:

異常處理類的設計

名字 備註
self.ip_exception() 限制IP以及返回IP信息
self.id_exception() 判斷學號格式錯誤
self.name_exception() 判斷名字格式錯誤
self.classes_exception() 判斷班級格式錯誤
self.major_exception() 判斷專業信息
self.information_exception() 個人信息審覈
self.deeds_exception() 個人事蹟審覈

信息處理設計

名字 備註
class Student(object): 學生信息類/與數據格式相同
class InfoDeal(object): 信息處理類,下面是成員變量
self.students 存儲學生類/每個學生信息
self.hash_list 構建哈希表
self.max_length 哈希表最大長度
self.hash_mod 哈希表構建方法
self.hash_table 存儲哈希表
self.root 構建二叉排序樹
self.rank_list 排名信息

哈希表構建

方法 備註
def build_hash(self): 開放尋址法
find_hash(self, value): 查找關鍵字

衝突消解

二叉排序樹

方法 備註
build_sort_tree(self): 構建排序二叉樹
insert_tree(self, node, value): 插入節點
mid_order_tree(self, node): 中序遍歷後十即爲排名前10

提供API接口

方法 備註
return_rank_info(self): 從二叉排序樹遍歷的序列中返回排名需要的信息/數據
return_vote_info(self): 從二叉排序中遍歷的序列中返回投票需要的信息/數據
update_vote(self, *values): 在哈希表中查找數據/存在進行數據的更新處理/votes++
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章