致讀者: 博主是一名數據科學與大數據專業大二的學生,真正的一個互聯網萌新,寫博客一方面是爲了記錄自己的學習過程中遇到的問題和思考,一方面是希望能夠幫助到很多和自己一樣處於困惑的讀者。
> 由於水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!之後會寫大數據專業的文章哦。
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
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;
配置文件
安裝git和下載項目
apt install git
git clone https://github.com/wfy-belief/CurriculumDesign.git
修改數據庫配置
cd CurriculumDesign/mysite/mysite
vim settings.py
最後一個是本機IP
修改即可
創建表結構
cd ..
python3 manage.py migrate
出現如下錯誤,我們修改原碼,註釋下面的兩行
vim /usr/local/lib/python3.7/dist-packages/django/db/backends/mysql/base.py
python3 manage.py migrate
出現報錯
/etc/mysql/mysql.conf.d
vim mysqld.cnf
註釋掉
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++ |