当前位置: 首页 > news >正文

深圳建设工程交易网站wordpress做邮件推送

深圳建设工程交易网站,wordpress做邮件推送,企业网站的优点和缺点,富阳网站建设怎样#x1f34a;作者#xff1a;计算机编程-吉哥 #x1f34a;简介#xff1a;专业从事JavaWeb程序开发#xff0c;微信小程序开发#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事#xff0c;生活就是快乐的。 #x1f34a;心愿#xff1a;点… 作者计算机编程-吉哥 简介专业从事JavaWeb程序开发微信小程序开发定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事生活就是快乐的。 心愿点赞 收藏 ⭐评论 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 Python毕业设计精品项目《1000套》 微信小程序毕业设计精品项目《1000套》 大数据/机器学习毕业设计精品项目《1000套》 目录 1.技术选型 2.开发工具 3.功能 3.1【角色】 3.2【前台功能模块】 3.3【后台功能模块】 4.项目演示截图 4.1 首页 4.2 课程信息 4.3 试卷 4.4 注册 4.5 考试 4.6 系统首页 4.7 课程成绩管理 4.8 试题库管理 4.9 课程信息管理 5.核心代码 5.1 Settings.py 5.2 Urls.py 5.3 Users_v.py 5.4 Auth.py 6.LW文档大纲参考 背景意义介绍 基于Python的在线考试系统是一种利用现代信息技术来提升教育质量和效率的工具。随着互联网技术的发展和教育信息化的推进传统的线下考试模式已经无法满足教育的多样化需求。在线考试系统以其高效、便捷的特点为学生提供了灵活的学习方式为教师提供了便捷的考试管理工具。 该系统通常包括用户管理、题库管理、考试管理、成绩管理等多个功能模块。它能够实现考试流程的自动化减轻教师的工作负担提高考试效率同时通过技术手段确保考试的公平性和安全性。此外系统还能够根据学生的学习情况提供个性化的学习建议有助于提升教学质量。 1.技术选型 Python、Django、vue、elementui、html、css、js、mysql 2.开发工具 pycharm、navicat 3.功能 3.1【角色】 管理员、用户 3.2【前台功能模块】 登录注册首页课程信息试卷公告个人中心个人中心、修改密码、课程成绩、考试记录、错题本、我的收藏 3.3【后台功能模块】 登录系统首页报表统计教师管理学生管理课程分类管理课程成绩管理班级管理课程信息管理试卷管理试题管理系统管理考试管理用户信息   4.项目演示截图 4.1 首页 4.2 课程信息 4.3 试卷 4.4 注册 4.5 考试 4.6 系统首页 4.7 课程成绩管理 4.8 试题库管理 4.9 课程信息管理 5.核心代码 5.1 Settings.py Django settings for dj2 project.Generated by django-admin startproject using Django 2.0.For more information on this file, see https://docs.djangoproject.com/en/2.0/topics/settings/For the full list of settings and their values, see https://docs.djangoproject.com/en/2.0/ref/settings/ import os from concurrent.futures.thread import ThreadPoolExecutor executor ThreadPoolExecutor(20) from util.configread import config_read# Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/# SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY w5yn#0gn2tt7pvu%hvwt0!lt!$6eqp4%m8)u3u#gknmjm)k# SECURITY WARNING: dont run with debug turned on in production! DEBUG TrueALLOWED_HOSTS [*]# Application definitionINSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,main,corsheaders, ]MIDDLEWARE [django.middleware.security.SecurityMiddleware,django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,# django.middleware.csrf.CsrfViewMiddleware,django.contrib.auth.middleware.AuthenticationMiddleware,django.contrib.messages.middleware.MessageMiddleware,django.middleware.clickjacking.XFrameOptionsMiddleware,threadlocals.middleware.ThreadLocalMiddleware,xmiddleware.xparam.Xparam,xmiddleware.xauth.Xauth,corsheaders.middleware.CorsMiddleware,django.middleware.common.CommonMiddleware,] CORS_ALLOW_CREDENTIALS True CORS_ORIGIN_ALLOW_ALL True CORS_ALLOW_HEADERS (*)SESSION_ENGINE django.contrib.sessions.backends.cache SESSION_COOKIE_NAME sessionid SESSION_COOKIE_PATH / SESSION_COOKIE_DOMAIN None SESSION_COOKIE_SECURE False SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_AGE 1209600 SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_SAVE_EVERY_REQUEST FalseROOT_URLCONF dj2.urls TEMPLATES_DIR os.path.join(BASE_DIR, templates) TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [TEMPLATES_DIR],APP_DIRS: True,OPTIONS: {context_processors: [django.template.context_processors.debug,django.template.context_processors.request,django.contrib.auth.context_processors.auth,django.contrib.messages.context_processors.messages,],},}, ]WSGI_APPLICATION dj2.wsgi.applicationEMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend EMAIL_USE_TLS False EMAIL_USE_SSL True EMAIL_HOST smtp.qq.com EMAIL_PORT 465 EMAIL_HOST_USER yclw9qq.com EMAIL_HOST_PASSWORD mhbrkuayvkkgbijd# Database # https://docs.djangoproject.com/en/2.0/ref/settings/#databases# DATABASES { # default: { # ENGINE: django.db.backends.sqlite3, # NAME: os.path.join(BASE_DIR, db.sqlite3), # } # }dbtype, host, port, user, passwd, dbName, charset,hasHadoop config_read(config.ini) dbNamedbName.replace( ,).strip() print(dbtype, host, port, user, passwd, dbName, charset)if dbtype mysql:DATABASES {default: {# ENGINE: django.db.backends.sqlite3,# NAME: os.path.join(BASE_DIR, db.sqlite3),ENGINE: django.db.backends.mysql,OPTIONS: {sql_mode: traditional,init_command: SET sql_modetraditional, # STRICT_TRANS_TABLES},NAME: dbName,USER: user,PASSWORD: passwd,HOST: host,PORT: port,charset: charset,TEST: {CHARSET: charset,COLLATION: utf8_general_ci,},CONN_MAX_AGE:60},} else:print(请使用mysql5.5数据库)os._exit(1)# Password validation # https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validatorsAUTH_PASSWORD_VALIDATORS [{NAME: django.contrib.auth.password_validation.UserAttributeSimilarityValidator,},{NAME: django.contrib.auth.password_validation.MinimumLengthValidator,},{NAME: django.contrib.auth.password_validation.CommonPasswordValidator,},{NAME: django.contrib.auth.password_validation.NumericPasswordValidator,}, ]# Internationalization # https://docs.djangoproject.com/en/2.0/topics/i18n/LANGUAGE_CODE zh-Hans# TIME_ZONE UTC TIME_ZONE Asia/ShanghaiUSE_I18N TrueUSE_L10N True# USE_TZ True USE_TZ False# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.0/howto/static-files/STATIC_URL /assets/ STATICFILES_DIRS [ os.path.join(BASE_DIR, templates/front/assets), ]# media MEDIA_URL /media/ # 自定义 MEDIA_ROOT os.path.join(BASE_DIR, media) # 自定义 if os.path.isdir(MEDIA_ROOT) False:os.mkdir(MEDIA_ROOT)ALIPAY_APP_ID 9021000132629452 APP_PRIVATE_KEY_STRING open({}/util/alipay_key/app_private_2048.txt.format(BASE_DIR)).read() ALIPAY_PUBLIC_KEY_STRING open({}/util/alipay_key/alipay_public_2048.txt.format(BASE_DIR)).read() ALIPAY_SIGN_TYPE RSA25.2 Urls.py dj2 URL ConfigurationThe urlpatterns list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/2.0/topics/http/urls/ Examples: Function views1. Add an import: from my_app import views2. Add a URL to urlpatterns: path(, views.home, namehome) Class-based views1. Add an import: from other_app.views import Home2. Add a URL to urlpatterns: path(, Home.as_view(), namehome) Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns: path(blog/, include(blog.urls))import os from django.contrib import admin from django.urls import path,include,re_path from django.conf.urls import url from django.views.static import serve from django.views.generic import TemplateViewfrom . import views from dj2.settings import dbName as schemaNameurlpatterns [path(xadmin/, admin.site.urls),path(rindex/,views.index),path({}/.format(schemaName),include(main.urls)),#导入schemaNamere_path(radmin/lib/(?Pp1.*)/(?Pp2.*)$, views.admin_lib2),re_path(radmin/lib/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)$, views.admin_lib3),re_path(radmin/lib/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)/(?Pp4.*)$, views.admin_lib4),re_path(radmin/page/(?Pp1.*)$, views.admin_page),re_path(radmin/page/(?Pp1.*)/(?Pp2.*)$, views.admin_page2),re_path(radmin/pages/(?Pp1.*)$, views.admin_pages),re_path(radmin/pages/(?Pp1.*)/(?Pp2.*)$, views.admin_pages2),re_path(rfront/(?Pp1.*)$, views.schema_front1),re_path(rfront/(?Pp1.*)/(?Pp2.*)$, views.schema_front2),re_path(rfront/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)$, views.schema_front3),re_path(rfront/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)/(?Pp4.*)$, views.schema_front4),re_path(r{}/front/(?Pp1.*)$.format(schemaName), views.schema_front1),re_path(r{}/front/(?Pp1.*)/(?Pp2.*)$.format(schemaName), views.schema_front2),re_path(r{}/front/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)$.format(schemaName), views.schema_front3),re_path(r{}/front/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)/(?Pp4.*)$.format(schemaName), views.schema_front4),# re_path(rassets/(?Pp1.*)$, views.assets1),# re_path(rassets/(?Pp1.*)/(?Pp2.*)$, views.assets2),# re_path(rassets/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)$, views.assets3),# re_path(rassets/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)/(?Pp4.*)$, views.assets4),#re_path(radmin/(?Pp1.*)$, views.admin_file1),re_path(radmin/(?Pp1.*)/(?Pp2.*)$, views.admin_file2),re_path(radmin/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)$, views.admin_file3),re_path(radmin/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)/(?Pp4.*)$, views.admin_file4),re_path(rlayui/(?Pp1.*)$, views.layui1),re_path(rlayui/(?Pp1.*)/(?Pp2.*)$, views.layui2),re_path(rlayui/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)$, views.layui3),re_path(rlayui/(?Pp1.*)/(?Pp2.*)/(?Pp3.*)/(?Pp4.*)$, views.layui4),re_path(rpages/(?Pp1.*)$, views.front_pages),re_path(rpages/(?Pp1.*)/(?Pp2.*)$, views.front_pages2),# re_path(rpages/(?Pp1.*)$, views.front_file1),# re_path(r(?Pp1css|jss|img|image|iamges|font|fonts)/(?Pp2.*)$, views.front_file2),re_path(rmodules/(?Pp1.*)$, views.front_modules),re_path(rcss/(?Pp1.*)$, views.css1),re_path(rjs/(?Pp1.*)$, views.js1),re_path(rimg/(?Pp1.*)$, views.img1),path(rtest/str:p1/,views.test),path(rnull,views.null), ]#判断admin使用vue还是jquery if os.path.isdir(os.path.join(os.getcwd(),templates/front/admin/dist/)):urlpatterns.extend([path(r{}/admin/dist/index.html.format(schemaName),TemplateView.as_view(template_namefront/admin/dist/index.html)),path(r{}/admin/.format(schemaName), TemplateView.as_view(template_namefront/admin/dist/index.html)),# 以下是后台admin的url匹配规则path(radmin/dist/index.html.format(schemaName),TemplateView.as_view(template_namefront/admin/dist/index.html)),path(radmin/, TemplateView.as_view(template_namefront/admin/dist/index.html)),]) else:urlpatterns.extend([path(r{}/admin/index.html.format(schemaName),TemplateView.as_view(template_namefront/admin/index.html)),path(r{}/admin/.format(schemaName), TemplateView.as_view(template_namefront/admin/index.html)),# 以下是后台admin的url匹配规则path(radmin/index.html.format(schemaName),TemplateView.as_view(template_namefront/admin/index.html)),path(radmin/, TemplateView.as_view(template_namefront/admin/index.html)),])if os.path.isfile(os.path.join(os.getcwd(),templates/front/index.html)):urlpatterns.extend([path(rindex.html, TemplateView.as_view(template_namefront/index.html)),path(r{}/index.html.format(schemaName), TemplateView.as_view(template_namefront/index.html)),path(r{}/front/index.html.format(schemaName), TemplateView.as_view(template_namefront/index.html)),path(r, TemplateView.as_view(template_namefront/index.html)),])5.3 Users_v.py # coding:utf-8 __author__ ilafrom django.http import JsonResponsefrom .users_model import users from util.codes import * from util.auth import Auth import util.message as mes from dj2.settings import host,port,user,passwd,dbName,hasHadoopdef users_login(request):if request.method in [POST, GET]:msg {code: normal_code, msg: mes.normal_code}req_dict request.session.get(req_dict)if req_dict.get(role)!None:del req_dict[role]datas users.getbyparams(users, users, req_dict)if not datas:msg[code] password_error_codemsg[msg] mes.password_error_codereturn JsonResponse(msg)req_dict[id] datas[0].get(id)return Auth.authenticate(Auth, users, req_dict)def users_register(request):if request.method in [POST, GET]:msg {code: normal_code, msg: mes.normal_code}req_dict request.session.get(req_dict)error users.createbyreq(users, users, req_dict)if error ! None:msg[code] crud_error_codemsg[msg] errorreturn JsonResponse(msg)def users_session(request):if request.method in [POST, GET]:msg {code: normal_code,msg:mes.normal_code, data: {}}req_dict {id: request.session.get(params).get(id)}msg[data] users.getbyparams(users, users, req_dict)[0]return JsonResponse(msg)def users_logout(request):if request.method in [POST, GET]:msg {msg: 退出成功,code: 0}return JsonResponse(msg)def users_page(request):if request.method in [POST, GET]:msg {code: normal_code, msg: mes.normal_code,data: {currPage: 1, totalPage: 1, total: 1, pageSize: 10, list: []}}req_dict request.session.get(req_dict)tablename request.session.get(tablename)try:__hasMessage__ users.__hasMessage__except:__hasMessage__ Noneif __hasMessage__ and __hasMessage__ ! 否:if tablename ! users:req_dict[userid] request.session.get(params).get(id)if tablename users:msg[data][list], msg[data][currPage], msg[data][totalPage], msg[data][total], \msg[data][pageSize] users.page(users, users, req_dict)else:msg[data][list], msg[data][currPage], msg[data][totalPage], msg[data][total], \msg[data][pageSize] [],1,0,0,10return JsonResponse(msg)def users_info(request, id_):if request.method in [POST, GET]:msg {code: normal_code, msg: mes.normal_code, data: {}}data users.getbyid(users, users, int(id_))if len(data) 0:msg[data] data[0]# 浏览点击次数try:__browseClick__ users.__browseClick__except:__browseClick__ Noneif __browseClick__ and clicknum in users.getallcolumn(users, users):click_dict {id: int(id_), clicknum: str(int(data[0].get(clicknum, 0)) 1)}ret users.updatebyparams(users, users, click_dict)if ret ! None:msg[code] crud_error_codemsg[msg] retreturn JsonResponse(msg)def users_save(request):if request.method in [POST, GET]:msg {code: normal_code, msg: mes.normal_code, data: {}}req_dict request.session.get(req_dict)req_dict[role] 管理员error users.createbyreq(users, users, req_dict)if error ! None:msg[code] crud_error_codemsg[msg] errorreturn JsonResponse(msg)def users_update(request):if request.method in [POST, GET]:msg {code: normal_code, msg: mes.normal_code, data: {}}req_dict request.session.get(req_dict)if req_dict.get(mima) and req_dict.get(password):if mima not in users.getallcolumn(users,users):del req_dict[mima]if password not in users.getallcolumn(users,users):del req_dict[password]try:del req_dict[clicknum]except:passerror users.updatebyparams(users, users, req_dict)if error ! None:msg[code] crud_error_codemsg[msg] errorreturn JsonResponse(msg)def users_delete(request):if request.method in [POST, GET]:msg {code: normal_code, msg: mes.normal_code, data: {}}req_dict request.session.get(req_dict)error users.deletes(users,users,req_dict.get(ids))if error ! None:msg[code] crud_error_codemsg[msg] errorreturn JsonResponse(msg)5.4 Auth.py # coding:utf-8 # author:ila import base64, copy from django.http import JsonResponse from django.apps import appsfrom util.codes import * from util import message as mesclass Auth(object):def authenticate(self, model, req_dict):用户登录登录成功返回token登录失败返回失败原因:param username:账号:param password:密码:return: jsonmsg {code: normal_code, msg: mes.normal_code, data: {}}tablename model.__tablename__encode_dict {tablename: tablename, params: req_dict}encode_str base64.b64encode(str(encode_dict).encode(utf-8))msg[data][id] req_dict.get(id)msg[id] req_dict.get(id)msg[token] encode_str.decode(utf-8)return JsonResponse(msg)def identify(self, request):用户鉴权:param request:本次请求对象:return: listmsg {code: normal_code, msg: mes.normal_code, data: {}}# django的header被处理过了token request.META.get(HTTP_TOKEN)if token and token !null:auth_token copy.deepcopy(token)decode_str base64.b64decode(auth_token).decode(utf8)decode_strdecode_str.replace(null,).replace(null,)decode_dict eval(decode_str)tablename2 decode_dict.get(tablename)params2 decode_dict.get(params,{})datasNoneallModels apps.get_app_config(main).get_models()for model in allModels:if model.__tablename__ tablename2:datas model.getbyparams(model, model, params2)if not datas:msg[code] username_error_codemsg[msg] 找不到该用户信息result msgelse:request.session[tablename] tablename2request.session[params] params2msg[msg] 身份验证通过。result msgelse:msg[code] 401msg[msg] headers未包含认证信息。result msgreturn result6.LW文档大纲参考 具体LW如何写法可以咨询博主耐心分享  你可能还有感兴趣的项目 更多项目推荐:计算机毕业设计项目 Python毕业设计精品项目《1000套》 微信小程序毕业设计精品项目《1000套》 大数据/机器学习毕业设计精品项目《1000套》 如果大家有任何疑虑请在下方咨询或评论
http://www.dnsts.com.cn/news/271208.html

相关文章:

  • 建设网站类策划书镇江百度关键词优化
  • 怎么在网站上做模式题库网站方案编写
  • 外贸网站制作公司深圳seo优化排名推广
  • 文章更新对网站有什么好处数字营销的优势有哪些
  • 旅游网站规划说明中国做乱的小说网站
  • 深圳信科做网站做推送用什么网站
  • 网站开发文档总结wordpress粘贴文章
  • 柳市网站优化汉寿网站建设
  • 湛江电子商务网站建设手机网站技术方案
  • 无锡网站制作排名上海网站建设seo公司哪家好
  • 网站只做优化wordpress广告设置
  • 西昌手机网站英文网站推广方法
  • 怎么做同城购物网站做企业网站的尺寸是多少钱
  • 网站开发托管协议西安百度推广多少钱
  • 做班级玩网站做哪些方面泰安肥城网站建设
  • 张掖市网站建设做pc端网站适配
  • 网站建设与管理专业学什么龙华建设网站公司
  • 网站建设 php jsp .net旅游网网站建设目的
  • 网站设计怎么做一点首页就跳转国通快速建站
  • 惠州城市建设建筑网站qq登录网页手机版
  • 广告网站做动图怎么做国外vps 加速免费
  • 做携程网站的技术搜索引擎网站推广怎么做
  • 万网网站建设的子分类能显示多少个融水县建设局网站
  • 家庭网站建设h5制作软件免费 fou
  • 新乡做网站的网站友情链接有什么用
  • flask做视频网站吉安市建设技术培训中心网站
  • php网站开发实用技术订单查询网站怎么做
  • 网站建设报价单模板推广企业网站最主要的方式
  • 柳州网站网站建设网站与系统开发
  • 网站案例模版蒙阴做网站