国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

作者主頁(yè):編程指南針

作者簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、掘金特邀作者、多年架構(gòu)師設(shè)計(jì)經(jīng)驗(yàn)、騰訊課堂常駐講師

主要內(nèi)容:Java項(xiàng)目、簡(jiǎn)歷模板、學(xué)習(xí)資料、面試題庫(kù)、技術(shù)互助

收藏點(diǎn)贊不迷路? 關(guān)注作者有好處

文末獲取源碼?

項(xiàng)目編號(hào):BS-Python-006

一,環(huán)境介紹

語(yǔ)言環(huán)境:Python3.7

數(shù)據(jù)庫(kù):Mysql: mysql5.7

開(kāi)發(fā)工具:IDEA 或其它

開(kāi)發(fā)技術(shù):Django框架,前端使用Layui+html

二,項(xiàng)目簡(jiǎn)介

本項(xiàng)目基于Python語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn),使用了Django WEB框架開(kāi)發(fā),前端使用Layui+HTML進(jìn)行頁(yè)面開(kāi)發(fā),提供了登錄驗(yàn)證碼和圖形報(bào)表統(tǒng)計(jì),以及數(shù)據(jù)導(dǎo)入導(dǎo)出的基本功能。

系統(tǒng)的用戶角色可以靈活的自定義實(shí)現(xiàn),目前設(shè)定的有管理員、班主任和普通用戶等,可以根據(jù)需求自定義角色和權(quán)限,系統(tǒng)權(quán)限分為菜單級(jí)和按鈕級(jí),控制的十分細(xì)致,完全根據(jù)需要來(lái)控制對(duì)某些數(shù)據(jù)的增刪改查操作,并根據(jù)需要給相應(yīng)的用戶授予相應(yīng)的權(quán)限。

系統(tǒng)的主要功能模塊包含:

用戶管理:完成對(duì)用戶信息的新增、查詢和刪除、導(dǎo)出等操作。

角色管理:完成對(duì)角色信息的新增、查詢和編輯、刪除、導(dǎo)出等操作。為角色授于不同的權(quán)限功能。

權(quán)限管理:完成對(duì)權(quán)限信息的新增、查詢和刪除、導(dǎo)出和啟用等操作。

日志管理:主要對(duì)用戶的操作日志進(jìn)行查看和刪除操作。

學(xué)校管理:完成對(duì)學(xué)校信息的新增、查詢和刪除操作。

年級(jí)管理:完成對(duì)年級(jí)信息的新增、查詢和刪除操作。

班級(jí)管理:完成對(duì)班級(jí)信息的新增、查詢和刪除操作。

課程管理:完成對(duì)課程信息的新增、查詢和刪除操作。

學(xué)生管理:完成對(duì)學(xué)生信息的新增、查詢和刪除操作,并可以進(jìn)行批量導(dǎo)入和導(dǎo)出。

成績(jī)錄入:為每個(gè)學(xué)生進(jìn)行成績(jī)錄入。

班級(jí)成績(jī):查詢統(tǒng)計(jì)各學(xué)校各班級(jí)各學(xué)科的參考人數(shù)及各分?jǐn)?shù)段的人數(shù)。

學(xué)生成績(jī):對(duì)所有學(xué)生的成績(jī)信息進(jìn)行管理和數(shù)據(jù)導(dǎo)入等操作。

數(shù)據(jù)統(tǒng)計(jì):通過(guò)Echart圖形報(bào)表完成相關(guān)數(shù)據(jù)統(tǒng)計(jì)。

個(gè)人資料修改:完成個(gè)人資料和密碼的修改操作。

三,系統(tǒng)展示

用戶登錄:

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

后臺(tái)管理首頁(yè):

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

用戶管理:

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

角色管理:

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

分配權(quán)限:

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

權(quán)限管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

日志管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

學(xué)校管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

年級(jí)管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

班級(jí)管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

課程管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

學(xué)生管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

成績(jī)錄入

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

班級(jí)成績(jī)統(tǒng)計(jì)

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

學(xué)生成績(jī)管理

基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)

四,核心代碼展示

# encoding:utf-8
import json
from io import BytesIO
from django.contrib.auth import logout
from django.contrib.auth.hashers import check_password, make_password
from django.http import JsonResponse, HttpResponse
from django.shortcuts import render, redirect

# Create your views here.
from common.API import res_josn_data
from common.API.auth import add_auth_session, login_required
from common.API.captcha import make_captcha
from common.API.code import check_code
from common.API.echarts import echarts_pie, json_response
from common.API.log import login_log
from login.models import Logo, Log
from sys_manage.models import User, Role, Power, RolePower
from student_score import models as m_model


def index(request):
    if request.method == 'GET':
        return redirect('/login')


def home(request):
    if request.method == 'GET':
        return render(request, 'login/home.html')


def login(request):
    if request.method == 'GET':
        return render(request, 'login/login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        code = request.POST.get('captcha')

        if not username or not password or not code:
            return res_josn_data.fail_api(msg="用戶名或密碼沒(méi)有輸入")
        s_code = request.session.get("code", None)
        print('驗(yàn)證碼:', code, s_code)
        user_ip = request.META.get('REMOTE_ADDR')
        print(user_ip)

        request.session["code"] = None

        if not all([code, s_code]):
            # login_log(request, uid=username, is_access=False, desc='驗(yàn)證碼錯(cuò)誤,請(qǐng)刷新驗(yàn)證碼')
            return res_josn_data.fail_api(msg="驗(yàn)證碼錯(cuò)誤,請(qǐng)刷新驗(yàn)證碼!")

        if code != s_code:
            login_log(request, uid=username, is_access=False, desc='驗(yàn)證碼錯(cuò)誤')
            return res_josn_data.fail_api(msg="驗(yàn)證碼錯(cuò)誤")

        user = User.objects.filter(id_number=username).first()

        if user is None:
            login_log(request, uid=username, is_access=False, desc='用戶不存在')
            return res_josn_data.fail_api(msg="用戶不存在!")

        if user.user_status == 0:
            login_log(request, uid=user.id_number, is_access=False, desc='用戶被禁用')
            return res_josn_data.fail_api(msg="用戶被禁用!")

        if username == user.id_number and check_password(password, user.id_password):
            # 設(shè)置session過(guò)期時(shí)間
            request.session.set_expiry(60 * 60 * 2)
            # 登錄
            request.session["user_id"] = user.id_number
            request.session["user_name"] = user.user_name
            request.session["role_id"] = user.role_id
            request.session["role_des"] = user.role_des
            request.session["id"] = user.id
            # 學(xué)校名稱
            request.session["department"] = user.department

            # 年級(jí)
            request.session["position"] = user.position
            # 科目
            request.session["email"] = user.email
            # 記錄登錄日志
            login_log(request, uid=user.id_number, is_access=True, desc='登錄成功')
            # 存入權(quán)限
            add_auth_session(request)

            return res_josn_data.success_api(msg="登錄成功")

        else:
            login_log(request, uid=user.id_number, is_access=False, desc='密碼錯(cuò)誤')
            return res_josn_data.fail_api(msg="密碼錯(cuò)誤")
def image_code(request):
    """ 生成圖片驗(yàn)證碼 """

    # 調(diào)用pillow函數(shù),生成圖片
    img, code_string = check_code()

    # 寫入到自己的session中(以便于后續(xù)獲取驗(yàn)證碼再進(jìn)行校驗(yàn))
    request.session['image_code'] = code_string
    # 給Session設(shè)置60s超時(shí)
    request.session.set_expiry(60)

    stream = BytesIO()
    img.save(stream, 'png')
    return HttpResponse(stream.getvalue())


def get_captcha(request):
    return make_captcha(request)


def login_in(request):
    user_id = request.session.get('user_id')
    if user_id:
        return render(request, "login/index.html", {'user_id': user_id})


def login_out(request):
    user_id = request.session.get('user_id')
    login_log(request, uid=user_id, is_access=True, desc='退出登錄')
    logout(request)
    return redirect('/login')


@login_required
def web_menu(request):
    home_info = Logo.objects.filter(type='0').first()
    logo_info = Logo.objects.filter(type='1').first()
    title_info = Logo.objects.filter(type='2').first()
    menu_info = Power.objects.filter(type=0).order_by('sort')  # 目錄
    # 查詢權(quán)限ID
    menu_id = RolePower.objects.values_list('power_id').filter(role_id=request.session.get('role_id'))
    permission_id = [i[0] for i in menu_id]
    print(f'當(dāng)前用戶權(quán)限ID:{permission_id}')

    menu_data = {
        "homeInfo": {
            "title": f"{home_info.name}",
            "href": f"{home_info.url}"
        },
        "logoInfo": {
            "title": f"{logo_info.name}",
            "image": f"{logo_info.icon}",
            "href": f"{logo_info.url}"
        },
        "menuInfo": [
            {
                "title": f"{title_info.name}",
                "icon": f"{title_info.icon}",
                "href": f"{title_info.url}",
                "target": "_self",
                "child": []
            }
        ]
    }
    for item in menu_info:
        if item.id in permission_id:
            menu_data["menuInfo"][0]["child"].append({
                "title": f"{item.name}",
                "icon": f"{item.icon}",
                "href": f"{item.code}",
                "target": "_self",
                "child": []
            })
            # 查詢子菜單
            sub_menu_info = Power.objects.filter(parent_id=item.id).order_by('sort')
            for sub_item in sub_menu_info:
                if sub_item.id in permission_id:
                    menu_data["menuInfo"][0]["child"][-1]["child"].append({
                        "title": f"{sub_item.name}",
                        "icon": f"{sub_item.icon}",
                        "href": f"{sub_item.code}",
                        "target": "_self"
                    })

    return JsonResponse(menu_data, safe=False)


@login_required
def echarts(request):
    if request.method == 'POST':
        n_type = ['用戶', '角色', '權(quán)限', '日志']
        user_count = User.objects.count()
        role_count = Role.objects.count()
        role_power_count = RolePower.objects.count()
        log_count = Log.objects.count()
        data_list = [user_count, role_count, role_power_count, log_count]
        title = '1.數(shù)量統(tǒng)計(jì)'
        c = echarts_pie(n_type, data_list, title)
        return json_response(json.loads(c))


@login_required
def user_setting(request):
    if request.method == 'GET':
        return render(request, "login/user_setting.html")
    if request.method == "POST":
        post_data = request.POST
        print(post_data)
        field_user_id = post_data['userID']
        field_name = post_data['userName']
        field_dep = post_data['department']
        field_pos = post_data['position']
        field_email = post_data['email']
        update_dict = {
            'user_name': field_name,
            'department': field_dep,
            'position': field_pos,
            'email': field_email
        }
        User.objects.filter(id_number=field_user_id).update(**update_dict)
        return res_josn_data.success_api(msg=f'用戶:{field_user_id} 更新成功')


@login_required
def user_info_query(request):
    data_list = []
    post_data = request.POST
    print('AJAX數(shù)據(jù):', post_data)
    login_id = post_data['login_id'].strip()
    user_info = User.objects.filter(id_number=login_id).first()
    role_info = Role.objects.filter(role_value=user_info.role_id).first()

    return res_josn_data.user_setting_api(login_id, user_info.user_name, user_info.department, user_info.position,
                                          role_info.name, user_info.email, data_list)


@login_required
def user_password(request):
    if request.method == 'GET':
        return render(request, "login/user_password.html")
    if request.method == "POST":
        post_data = request.POST
        print(post_data)
        login_id = post_data['login_id'].strip()
        old_password = post_data['Param[old_password]']
        new_password = post_data['Param[new_password]']
        again_password = post_data['Param[again_password]']
        user_obj = User.objects.filter(id_number=login_id).first()
        if not user_obj:
            return res_josn_data.fail_api(msg="用戶不存在!")
        if not check_password(old_password, user_obj.id_password):
            return res_josn_data.fail_api(msg="舊密碼錯(cuò)誤!")
        if new_password != again_password:
            return res_josn_data.fail_api(msg="兩次密碼不一致!")
        User.objects.filter(id_number=login_id).update(**{'id_password': make_password(new_password)})
        return res_josn_data.success_api(msg="修改成功!")


# def page_not_found(request, exception):
#     return render(request, "errors/404.html", exception)
#
#
# def page_error(request):
#     return render(request, "errors/500.html")
# encoding:utf-8
import json

from django.contrib.auth.hashers import make_password
from django.core.paginator import Paginator
from django.shortcuts import render
from student_score import models as m_model
# Create your views here.

from common.API import res_josn_data
from common.API.auth import login_required, authorize
from sys_manage.models import User, Role


@login_required
def user_manage(request):
    return render(request, 'sys_manage/user_manage/user_main.html')


@login_required
def user_query(request):
    data_list = []
    page = request.POST.get('page', 1)
    limit = request.POST.get('limit', 10)
    post_data_str = request.POST.get('Params', None)

    if post_data_str is None:
        user_obj = User.objects.all().order_by('id')
        # return res_josn_data.table_api(data=data_list, count=0)
    else:
        post_data = json.loads(post_data_str)
        id_number = post_data['idNumber']
        user_name = post_data['userName']
        user_dep = post_data['dep']
        user_pos = post_data['position']
        user_status = post_data['status']
        user_role = post_data['role']

        filters = {}  # 查詢參數(shù)構(gòu)造
        # model或數(shù)據(jù)庫(kù)對(duì)應(yīng)字段
        orm_field = ['__gt', '__gte', '__lt', '__lte', '__exact', '__iexact', '__contains', '__icontains',
                     '__startswith', '__istartswith', '__endswith', '__iendswith', '__range', '__isnull', '__in']
        filed_dict = {0: 'id_number', 1: 'user_name', 2: 'department', 3: 'position', 4: 'user_status', 5: 'role_id'}
        param_list = [id_number, user_name, user_dep, user_pos, user_status, user_role]

        for i in range(len(param_list)):
            if param_list[i] not in (None, ''):
                db_field = filed_dict[i] + orm_field[7]
                filters[db_field] = param_list[i]

        print('filters:', filters)

        user_obj = User.objects.filter(**filters).order_by('id')
    page_data = Paginator(user_obj, limit).page(page)

    # 序號(hào)
    count = (int(page) - 1) * int(limit)

    for item in page_data:
        count += 1
        item_data = {
            "id": count,
            "fieldID": item.id,
            "userID": item.id_number,
            "name": item.user_name,
            "department": item.department,
            "position": item.position,
            "email": item.email,
            "status": item.user_status,
            "role": item.role_des,
        }
        data_list.append(item_data)

    return res_josn_data.table_api(count=len(user_obj), data=data_list)


@authorize(power='user:add', log=True)
def user_add(request):
    if request.method == 'GET':
        return render(request, 'sys_manage/user_manage/user_add.html')
    if request.method == 'POST':
        post_data = request.POST
        print(request.POST)
        user_id = post_data['userID']
        user_password = post_data['password']
        user_name = post_data['userName']
        user_dep = post_data['department']
        user_position = post_data['position']
        user_email = post_data['email']
        user_enable = post_data['enable']
        role_value = post_data['role']

        user_password_sha256 = make_password(user_password, salt=None, hasher='default')
        role_obj = Role.objects.filter(role_value=role_value).first()

        new_obj = User(
            id_number=user_id,
            id_password=user_password_sha256,
            user_name=user_name,
            department=user_dep,
            position=user_position,
            role_id=role_value,
            role_des=role_obj.name,
            user_status=user_enable,
            email=user_email,
        )
        new_obj.save()
        return res_josn_data.success_api(msg=f'用戶:{user_name} 添加成功')


@login_required
def user_role_query(request):
    if request.method == 'POST':
        data_list = []
        role_data = Role.objects.all()
        for item in role_data:
            item_data = {
                "roleID": item.role_value,
                "roleName": item.name
            }
            data_list.append(item_data)
        print(data_list)
        return res_josn_data.table_api(data=data_list, count=len(role_data))
def school_query(request):
    if request.method == 'POST':
        data_list = []

        school_data = m_model.College.objects.all()
        for item in school_data:
            item_data = {
                "schoolID": item.id,
                "schoolName": item.name
            }
            data_list.append(item_data)
        return res_josn_data.table_api(data=data_list, count=len(school_data))

@authorize(power='user:delete', log=True)
def user_delete(request):
    if request.method == 'POST':
        post_data = request.POST
        print('AJAX數(shù)據(jù):', post_data)
        db_id = post_data['fieldID']
        user_name = post_data['name']
        User.objects.filter(id=db_id).delete()
        return res_josn_data.success_api(f'用戶:{user_name} 刪除成功')
    else:
        return res_josn_data.fail_api(msg='請(qǐng)求權(quán)限不夠!')


@authorize(power='user:delete', log=True)
def user_multi_delete(request):
    if request.method == 'POST':
        user_list = []
        post_data_str = request.POST.get('Params', None)
        post_data = json.loads(post_data_str)
        for item in post_data:
            db_id = item['fieldID']
            user_name = item['name']
            User.objects.filter(id=db_id).delete()
            user_list.append(user_name)
        return res_josn_data.success_api(f'用戶:{user_list} 刪除成功')


@login_required
def user_cell_edit(request):
    # 前端字段和數(shù)據(jù)庫(kù)字段對(duì)應(yīng)dict
    filed_dict = {
        'userID': 'id_number',
        'name': 'user_name',
        'department': 'department',
        'position': 'position',
        'email': 'email',
    }
    if request.method == 'POST':
        post_data = request.POST
        print('AJAX數(shù)據(jù):', post_data)
        field_name = post_data['field']
        field_value = post_data['value']
        field_id = post_data['dbID']
        User.objects.filter(id=field_id).update(**{filed_dict[field_name]: field_value})
        return res_josn_data.success_api(f'更新成功')


@login_required
def user_role_edit(request):
    if request.method == 'GET':
        return render(request, 'sys_manage/user_manage/user_role_edit.html')
    if request.method == 'POST':
        post_data = request.POST
        print(post_data)
        user_id = post_data['userID']
        role_id = post_data['role']
        role_obj = Role.objects.filter(role_value=role_id).first()
        update_dict = {
            'role_id': role_id,
            'role_des': role_obj.name
        }
        User.objects.filter(id_number=user_id).update(**update_dict)
        return res_josn_data.success_api(msg=f'{user_id} 角色更新成功')


@authorize(power='user:enable', log=True)
def user_enable(request):
    if request.method == 'POST':
        post_data = request.POST
        print('AJAX數(shù)據(jù):', post_data)
        field_id = post_data['userID']
        enable_value = post_data['enableValue']  # 0禁用 1啟用
        enable_dict = {'enable': 1, 'disable': 0}
        enable_dict_cn = {'enable': '啟用', 'disable': '禁用'}
        role_obj = User.objects.filter(id=field_id)
        role_obj.update(**{'user_status': enable_dict[enable_value]})
        return res_josn_data.success_api(msg=f'{role_obj[0].user_name} {enable_dict_cn[enable_value]}成功')

五,項(xiàng)目總結(jié)

本次基于Python開(kāi)發(fā)實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng),也可作為學(xué)生管理系統(tǒng)使用,題目根據(jù)需要可以更改,功能實(shí)現(xiàn)較為完整,界面設(shè)計(jì)美觀大方,適合作為畢業(yè)設(shè)計(jì)和課程設(shè)計(jì)使用。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-505111.html

到了這里,關(guān)于基于Python+Django實(shí)現(xiàn)的學(xué)生成績(jī)管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用Python實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)

    ?學(xué)生成績(jī)管理系統(tǒng)是一種非常普遍的管理系統(tǒng) 使用Python創(chuàng)建該系統(tǒng),步驟如下: 使用os 模塊 json模塊,for 循環(huán), if語(yǔ)句 函數(shù),實(shí)現(xiàn)代碼的編程,本系統(tǒng)主要由登錄,注冊(cè),增刪改查的功能? 代碼如下: 希望對(duì)大家有所幫!

    2024年02月11日
    瀏覽(23)
  • (附源碼)基于python的學(xué)生成績(jī)管理系統(tǒng) 畢業(yè)設(shè)計(jì)071143

    (附源碼)基于python的學(xué)生成績(jī)管理系統(tǒng) 畢業(yè)設(shè)計(jì)071143

    Django學(xué)生成績(jī)管理 摘 要 在國(guó)家重視教育影響下,教育部門的密確配合下,對(duì)教育進(jìn)行改革、多樣性、質(zhì)量等等的要求,使教育系統(tǒng)的管理和運(yùn)營(yíng)比過(guò)去十年前更加理性化。依照這一現(xiàn)實(shí)為基礎(chǔ),設(shè)計(jì)一個(gè)快捷而又方便的線上學(xué)生成績(jī)管理系統(tǒng)是一項(xiàng)十分重要并且有價(jià)值的事

    2024年02月05日
    瀏覽(28)
  • (附源碼)python+mysql+基于python的學(xué)生成績(jī)管理系統(tǒng)  畢業(yè)設(shè)計(jì)071143

    (附源碼)python+mysql+基于python的學(xué)生成績(jī)管理系統(tǒng) 畢業(yè)設(shè)計(jì)071143

    Django學(xué)生成績(jī)管理 摘 要 在國(guó)家重視教育影響下,教育部門的密確配合下,對(duì)教育進(jìn)行改革、多樣性、質(zhì)量等等的要求,使教育系統(tǒng)的管理和運(yùn)營(yíng)比過(guò)去十年前更加理性化。依照這一現(xiàn)實(shí)為基礎(chǔ),設(shè)計(jì)一個(gè)快捷而又方便的線上學(xué)生成績(jī)管理系統(tǒng)是一項(xiàng)十分重要并且有價(jià)值的事

    2024年02月04日
    瀏覽(29)
  • 基于Java高校校園學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(Springboot框架) 參考文獻(xiàn)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開(kāi)發(fā)實(shí)戰(zhàn)》《微信小程序商城開(kāi)發(fā)》圖書(shū)作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計(jì)教育和輔導(dǎo)。 所有項(xiàng)目都配有從入門到精通的基礎(chǔ)知識(shí)視頻課程,免費(fèi) 項(xiàng)目配有對(duì)應(yīng)開(kāi)發(fā)文檔、開(kāi)題報(bào)告、任務(wù)書(shū)、

    2024年01月17日
    瀏覽(95)
  • 基于微信小程序的學(xué)生選課成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(源碼+論文)_v_149

    基于微信小程序的學(xué)生選課成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(源碼+論文)_v_149

    摘 ? 要 隨著移動(dòng)互聯(lián)網(wǎng)、智能手機(jī)的普及,微信被廣大用戶認(rèn)可并廣泛被使用,其中微信小程序主要通過(guò)微信信息會(huì)話以及網(wǎng)頁(yè)的形式為用戶提供服務(wù),方便人們對(duì)信息的了解,操作簡(jiǎn)單實(shí)用。本文主要介紹了學(xué)生成績(jī)管理系統(tǒng)微信小程序的開(kāi)發(fā)過(guò)程,對(duì)開(kāi)發(fā)環(huán)境、系統(tǒng)設(shè)

    2024年02月02日
    瀏覽(23)
  • 基于Python + Django 開(kāi)發(fā)一款學(xué)生管理系統(tǒng)(附源碼)

    基于Python + Django 開(kāi)發(fā)一款學(xué)生管理系統(tǒng)(附源碼)

    1.開(kāi)發(fā)環(huán)境 開(kāi)發(fā)工具: Pycharm 2020.1.1 開(kāi)發(fā)語(yǔ)言: Python 3.8.5 Web框架: Djanjo 3.0.3 前端框架: bootstrap 3.3.7 數(shù)據(jù)庫(kù): MySQL 8.0.21 + Navicat Premium 15.0.17 操作系統(tǒng): macOS 10.14.6 源碼分享技術(shù)交流 技術(shù)要學(xué)會(huì)分享、交流,不建議閉門造車。 本文技術(shù)由粉絲群小伙伴分享匯總。源碼、數(shù)據(jù)

    2024年02月03日
    瀏覽(27)
  • Python學(xué)生成績(jī)管理系統(tǒng)

    Python學(xué)生成績(jī)管理系統(tǒng)

    根據(jù)項(xiàng)目要求,學(xué)生系統(tǒng)成績(jī)管理系統(tǒng)應(yīng)該具備以下幾個(gè)功能: (1)系統(tǒng)的登錄與注冊(cè): (2)學(xué)生成績(jī)添加: (3)學(xué)生成績(jī)修改: (4)學(xué)生成績(jī)刪除: (5)學(xué)生成績(jī)查詢: (6)學(xué)生成績(jī)排序及顯示: (7)系統(tǒng)退出: 系統(tǒng)主要功能分為三大模塊,分別為:系統(tǒng)的登錄

    2024年02月03日
    瀏覽(24)
  • 基于Java+MySQL的學(xué)生成績(jī)管理系統(tǒng)

    基于Java+MySQL的學(xué)生成績(jī)管理系統(tǒng)

    目 錄 第1章 緒 論 2 1.1 課題研究背景 2 1.2 課題研究意義 2 1.3 國(guó)內(nèi)外的發(fā)展?fàn)顩r 2 第2章 開(kāi)發(fā)環(huán)境 3 2.1 Java技術(shù)簡(jiǎn)介 3 2.2 Mysql簡(jiǎn)介 3 2.3 JDBC簡(jiǎn)介 3 2.4其他技術(shù)簡(jiǎn)介 3 第3章 系統(tǒng)需求分析 4 第4章 系統(tǒng)概要設(shè)計(jì) 5 第5章 系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn) 6 5.1 詳細(xì)設(shè)計(jì)思想 6 5.2 登錄模塊設(shè)計(jì)與實(shí)現(xiàn)

    2024年02月09日
    瀏覽(30)
  • python--字典版學(xué)生成績(jī)管理系統(tǒng)

    目錄 全局變量定義 菜單方法 添加學(xué)生信息? 刪除學(xué)生信息? 修改學(xué)生成績(jī)? 查找學(xué)生信息? 統(tǒng)計(jì)學(xué)生最高分、平均分、最低分 主運(yùn)行函數(shù)? 全部源代碼 實(shí)現(xiàn)對(duì)學(xué)生信息的添加、刪除、修改、查詢操作 全局變量定義 import math 定義一個(gè)空字典存放學(xué)生學(xué)號(hào)和成績(jī) stu_dict = {}

    2024年02月04日
    瀏覽(23)
  • 【python課程作業(yè)】python學(xué)生成績(jī)管理系統(tǒng)

    功能介紹 平臺(tái)采用B/S結(jié)構(gòu),后端采用主流的Python語(yǔ)言進(jìn)行開(kāi)發(fā),前端采用主流的Vue.js進(jìn)行開(kāi)發(fā)。給舍友做的課程作業(yè)。 功能包括:成績(jī)管理、學(xué)生管理、課程管理、班級(jí)管理、用戶管理、日志管理、系統(tǒng)信息模塊。 源碼地址 https://github.com/geeeeeeeek/python_score 演示地址 http:/

    2024年03月13日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包