隨著社會的發展,近些年來的畢業生大多數會選擇考研,考公員和考試教師資格證以增加自己在未來社會中的競爭能力。為了讓這些有志之士能夠有一個更好的學習和交流平台,我們通過計Python+djang開發了本次的公務員考試信息管理系統。通過本系統可以讓讓那些想要考取公務員的學子們進行在線學習。查看不同類型的學習資源。在學習一段時間之後,可以通過在線考試的形式來測試自己對知識的掌握情況。同時隊員們還可以查看公告和進行在線交流,通過這些功能可以讓考取公務員的人擁有一個更好的學習和交流平台
公務員考試信息管理系統方面的需要以及對該平台認真的分析,將系統權限按管理員和用戶這兩類涉及用戶劃分。
(a) 管理員;管理員使用本系統涉到的功能主要有:首頁,個人中心,用戶管理,學習分類管理,學習區域管理,試題管理,試卷管理,系統管理,考試管理等功能
(b)用戶;進入系統可以實現首頁,學習區域,試卷,系統公告,個人中心,後台管理等功能
計算機畢業設計Python+djang公務員考試信息管理系統(源碼+系統+mysql數據庫+Lw文檔)
開發語言:Python
python框架:django
軟件版本:python3.7/python3.8
數據庫:mysql 5.7或更高版本
數據庫工具:Navicat11
開發軟件:PyCharm/vs code
前端框架:vue.js
可開發框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可開發
本界面為系統的主界面在這裡邊我面我們可以看到系統的所有,在這邊我們可以看到系統的所有功能。主要包括學習區域試卷系統公告個人中心等內,試卷系統,公告,個人中心等內容。
當學子們在本系統內學習了一段時間之後想要對自己支持的掌握情況進,想要對自己支持的掌握情況進行一個測試。這個時候就可以通過。在線測試的功能來進行測試了。在線測試首先我們列出了試卷的名稱。學生通過點擊試卷名稱可以看到試卷的詳細內容並進行在線,可以看到試卷的詳細內容,並進行在線答題。答題完成之後提交試卷系統自動給出分數。
本系統不僅提供了在線測試的功能,還提供了一個錯題本的功能,對以往考試中一些做錯的題行了一個歸納總結,以方便更好的進行學習。提高自己的分數。
本界面為系統用戶管理界面,主要包括用戶的賬號,用戶的姓名,性別,年齡,頭像以及用戶的聯系方式的內容。管理人員可以查看這些用戶的詳細信息,同時可對這些信息進行修改和刪除。
管理人員可以在學習區域內發布最新的一些學習資料,學習區域又可以對其進行分類。在學習區域中包括學習區域的名稱,圖片。視頻分類和發布時間的內容。管理人員還可以查看詳情和對其進行修改,刪除等操作。
# url規則列表
urlpatterns = [
path(r'users/register', users_v.users_register),
path(r'users/login', users_v.users_login),
path(r'users/logout', users_v.users_logout),
path(r'users/session', users_v.users_session),
path(r'users/page', users_v.users_page),
path(r'users/save', users_v.users_save),
path(r'users/info/<id_>', users_v.users_info),
path(r'users/update', users_v.users_update),
path(r'users/delete', users_v.users_delete),
path(r'config/page', config_v.config_page),
path(r'config/list', config_v.config_list),
path(r'config/save', config_v.config_save),
path(r'config/add', config_v.config_add),
path(r'config/info/<id_>', config_v.config_info),
path(r'config/detail/<id_>', config_v.config_detail),
path(r'config/update', config_v.config_update),
path(r'config/delete', config_v.config_delete),
]
# main app的路徑
mainDir = os.path.join(os.getcwd(), "main")
# 過濾文件的列表
excludeList = [
"schema_v.py",
"users_v.py",
"config_v.py",
]
# 循環當前目錄下的py文件
view_tuple = set()
for i in os.listdir(mainDir):
if i not in excludeList and i[-5:] == "_v.py":
viewName = i[:-3] # 去掉.py後綴字符串
view_tuple.add("from main import {}".format(viewName))
# 組合成import字符串
import_str = '\n'.join(view_tuple)
# print(import_str)
exec(import_str)
for i in os.listdir(mainDir):
if i not in excludeList and i[-5:] == "_v.py":
tableName = i[:-5]
tableName = tableName.replace(" ", "").strip()
print("tableName============>", tableName, len(tableName))
urlpatterns.extend(
[
path(r'{
}/register'.format(tableName.lower()),
eval("{}_v.{}_register".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/login'.format(tableName.lower()),
eval("{}_v.{}_login".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/logout'.format(tableName.lower()),
eval("{}_v.{}_logout".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/resetPass'.format(tableName.lower()),
eval("{}_v.{}_resetPass".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/session'.format(tableName.lower()),
eval("{}_v.{}_session".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/default'.format(tableName.lower()),
eval("{}_v.{}_default".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/page'.format(tableName.lower()),
eval("{}_v.{}_page".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/autoSort'.format(tableName.lower()),
eval("{}_v.{}_autoSort".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/save'.format(tableName.lower()),
eval("{}_v.{}_save".format(tableName.capitalize(), tableName.lower()))),
path(r'{}/add'.format(tableName.lower()),
eval("{}_v.{}_add".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/thumbsup/<id_>'.format(tableName.lower()),
eval("{}_v.{}_thumbsup".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/info/<id_>'.format(tableName.lower()),
eval("{}_v.{}_info".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/detail/<id_>'.format(tableName.lower()),
eval("{}_v.{}_detail".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/update'.format(tableName.lower()),
eval("{}_v.{}_update".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/delete'.format(tableName.lower()),
eval("{}_v.{}_delete".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/vote/<id_>'.format(tableName.lower()),
eval("{}_v.{}_vote".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/importExcel'.format(tableName.lower()),
eval("{}_v.{}_importExcel".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/sendemail'.format(tableName.lower()),
eval("{}_v.{}_sendemail".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/autoSort2'.format(tableName.lower()),
eval("{}_v.{}_autoSort2".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/value/<xColumnName>/<yColumnName>/<timeStatType>'.format(tableName.lower()),
eval("{}_v.{}_value".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/value/<xColumnName>/<yColumnName>'.format(tableName.lower()),
eval("{}_v.{}_o_value".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/alipay'.format(tableName.lower()),
eval("{}_v.{}_alipay".format(tableName.capitalize(), tableName.lower()))),
path(r'{
}/notify'.format(tableName.lower()),
eval("{}_v.{}_notify".format(tableName.capitalize(), tableName.lower()))),
]
)