0


计算机毕业设计 基于 Hadoop平台的岗位推荐系统 SpringBoot+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~
Java毕业设计项目~热门选题推荐《1000套》

Python毕业设计精品项目《1000套》

微信小程序毕业设计精品项目《1000套》

大数据/机器学习毕业设计精品项目《1000套》

背景意义介绍:

随着互联网技术的飞速发展,招聘行业的信息量呈现出爆炸式增长,如何在海量数据中为求职者精准推荐合适的岗位,成为了一个亟待解决的问题。本项目基于Hadoop平台构建的岗位推荐系统,旨在解决这一难题,具有重要的背景意义。
项目背景在于,当前招聘市场信息不对称,求职者难以在海量岗位中找到真正适合自己的工作,而企业也面临着招聘效率低下的问题。本项目通过运用大数据分析技术,结合Hadoop平台的高效数据处理能力,对求职者的简历、浏览记录、互动行为等数据进行深度挖掘,为企业提供精准的岗位推荐,帮助求职者快速找到合适的工作。
项目意义在于:一方面,提高了招聘市场的匹配效率,降低了求职者和企业的成本;另一方面,推动了大数据技术在招聘行业的应用,为求职者提供更加个性化、智能化的求职体验。同时,本项目还有助于企业优化人力资源配置,提升招聘质量,为我国人才市场的繁荣和发展贡献力量。

1.技术选型

SoringBoot、Hadoop、爬虫、vue、elementui、html、css、js、mysql、jdk1.8

2.开发工具

idea、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 岗位申报管理

5.核心代码

5.1 Settings.py

  1. """
  2. Django settings for dj2 project.
  3. Generated by 'django-admin startproject' using Django 2.0.
  4. For more information on this file, see
  5. https://docs.djangoproject.com/en/2.0/topics/settings/
  6. For the full list of settings and their values, see
  7. https://docs.djangoproject.com/en/2.0/ref/settings/
  8. """
  9. import os
  10. from concurrent.futures.thread import ThreadPoolExecutor
  11. executor = ThreadPoolExecutor(20)
  12. from util.configread import config_read
  13. # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
  14. BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  15. # Quick-start development settings - unsuitable for production
  16. # See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/
  17. # SECURITY WARNING: keep the secret key used in production secret!
  18. SECRET_KEY = 'w5yn#0gn2tt7pvu%hvwt0!lt=!$6+eqp4%m8)u3u#gknm@jm)k'
  19. # SECURITY WARNING: don't run with debug turned on in production!
  20. DEBUG = True
  21. ALLOWED_HOSTS = ["*"]
  22. # Application definition
  23. INSTALLED_APPS = [
  24. 'django.contrib.admin',
  25. 'django.contrib.auth',
  26. 'django.contrib.contenttypes',
  27. 'django.contrib.sessions',
  28. 'django.contrib.messages',
  29. 'django.contrib.staticfiles',
  30. "main",
  31. 'corsheaders',
  32. ]
  33. MIDDLEWARE = [
  34. 'django.middleware.security.SecurityMiddleware',
  35. 'django.contrib.sessions.middleware.SessionMiddleware',
  36. 'django.middleware.common.CommonMiddleware',
  37. # 'django.middleware.csrf.CsrfViewMiddleware',
  38. 'django.contrib.auth.middleware.AuthenticationMiddleware',
  39. 'django.contrib.messages.middleware.MessageMiddleware',
  40. 'django.middleware.clickjacking.XFrameOptionsMiddleware',
  41. 'threadlocals.middleware.ThreadLocalMiddleware',
  42. "xmiddleware.xparam.Xparam",
  43. "xmiddleware.xauth.Xauth",
  44. 'corsheaders.middleware.CorsMiddleware',
  45. 'django.middleware.common.CommonMiddleware',
  46. ]
  47. CORS_ALLOW_CREDENTIALS = True
  48. CORS_ORIGIN_ALLOW_ALL = True
  49. CORS_ALLOW_HEADERS = ('*')
  50. SESSION_ENGINE = "django.contrib.sessions.backends.cache"
  51. SESSION_COOKIE_NAME = "sessionid"
  52. SESSION_COOKIE_PATH = "/"
  53. SESSION_COOKIE_DOMAIN = None
  54. SESSION_COOKIE_SECURE = False
  55. SESSION_COOKIE_HTTPONLY = True
  56. SESSION_COOKIE_AGE = 1209600
  57. SESSION_EXPIRE_AT_BROWSER_CLOSE = False
  58. SESSION_SAVE_EVERY_REQUEST = False
  59. ROOT_URLCONF = 'dj2.urls'
  60. TEMPLATES_DIR = os.path.join(BASE_DIR, "templates")
  61. TEMPLATES = [
  62. {
  63. 'BACKEND': 'django.template.backends.django.DjangoTemplates',
  64. 'DIRS': [TEMPLATES_DIR],
  65. 'APP_DIRS': True,
  66. 'OPTIONS': {
  67. 'context_processors': [
  68. 'django.template.context_processors.debug',
  69. 'django.template.context_processors.request',
  70. 'django.contrib.auth.context_processors.auth',
  71. 'django.contrib.messages.context_processors.messages',
  72. ],
  73. },
  74. },
  75. ]
  76. WSGI_APPLICATION = 'dj2.wsgi.application'
  77. EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
  78. EMAIL_USE_TLS = False
  79. EMAIL_USE_SSL = True
  80. EMAIL_HOST = 'smtp.qq.com'
  81. EMAIL_PORT = 465
  82. EMAIL_HOST_USER = 'yclw9@qq.com'
  83. EMAIL_HOST_PASSWORD = 'mhbrkuayvkkgbijd'
  84. # Database
  85. # https://docs.djangoproject.com/en/2.0/ref/settings/#databases
  86. # DATABASES = {
  87. # 'default': {
  88. # 'ENGINE': 'django.db.backends.sqlite3',
  89. # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
  90. # }
  91. # }
  92. dbtype, host, port, user, passwd, dbName, charset,hasHadoop = config_read("config.ini")
  93. dbName=dbName.replace(" ","").strip()
  94. print(dbtype, host, port, user, passwd, dbName, charset)
  95. if dbtype == 'mysql':
  96. DATABASES = {
  97. 'default': {
  98. # 'ENGINE': 'django.db.backends.sqlite3',
  99. # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
  100. 'ENGINE': 'django.db.backends.mysql',
  101. 'OPTIONS': {
  102. 'sql_mode': 'traditional',
  103. 'init_command': "SET sql_mode='traditional'", # STRICT_TRANS_TABLES
  104. },
  105. 'NAME': dbName,
  106. 'USER': user,
  107. 'PASSWORD': passwd,
  108. 'HOST': host,
  109. 'PORT': port,
  110. 'charset': charset,
  111. 'TEST': {
  112. 'CHARSET': charset,
  113. 'COLLATION': 'utf8_general_ci',
  114. },
  115. 'CONN_MAX_AGE':60
  116. },
  117. }
  118. else:
  119. print("请使用mysql5.5数据库")
  120. os._exit(1)
  121. # Password validation
  122. # https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators
  123. AUTH_PASSWORD_VALIDATORS = [
  124. {
  125. 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
  126. },
  127. {
  128. 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
  129. },
  130. {
  131. 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
  132. },
  133. {
  134. 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
  135. },
  136. ]
  137. # Internationalization
  138. # https://docs.djangoproject.com/en/2.0/topics/i18n/
  139. LANGUAGE_CODE = 'zh-Hans'
  140. # TIME_ZONE = 'UTC'
  141. TIME_ZONE = 'Asia/Shanghai'
  142. USE_I18N = True
  143. USE_L10N = True
  144. # USE_TZ = True
  145. USE_TZ = False
  146. # Static files (CSS, JavaScript, Images)
  147. # https://docs.djangoproject.com/en/2.0/howto/static-files/
  148. STATIC_URL = '/assets/'
  149. STATICFILES_DIRS =[
  150. os.path.join(BASE_DIR, "templates/front/assets"),
  151. ]
  152. # media
  153. MEDIA_URL = "/media/" # 自定义
  154. MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 自定义
  155. if os.path.isdir(MEDIA_ROOT) == False:
  156. os.mkdir(MEDIA_ROOT)
  157. ALIPAY_APP_ID = '9021000132629452'
  158. APP_PRIVATE_KEY_STRING = open('{}/util/alipay_key/app_private_2048.txt'.format(BASE_DIR)).read()
  159. ALIPAY_PUBLIC_KEY_STRING = open('{}/util/alipay_key/alipay_public_2048.txt'.format(BASE_DIR)).read()
  160. ALIPAY_SIGN_TYPE = 'RSA2'

5.2 Urls.py

  1. """dj2 URL Configuration
  2. The `urlpatterns` list routes URLs to views. For more information please see:
  3. https://docs.djangoproject.com/en/2.0/topics/http/urls/
  4. Examples:
  5. Function views
  6. 1. Add an import: from my_app import views
  7. 2. Add a URL to urlpatterns: path('', views.home, name='home')
  8. Class-based views
  9. 1. Add an import: from other_app.views import Home
  10. 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
  11. Including another URLconf
  12. 1. Import the include() function: from django.urls import include, path
  13. 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
  14. """
  15. import os
  16. from django.contrib import admin
  17. from django.urls import path,include,re_path
  18. from django.conf.urls import url
  19. from django.views.static import serve
  20. from django.views.generic import TemplateView
  21. from . import views
  22. from dj2.settings import dbName as schemaName
  23. urlpatterns = [
  24. path('xadmin/', admin.site.urls),
  25. path(r'index/',views.index),
  26. path('{}/'.format(schemaName),include('main.urls')),#导入schemaName
  27. re_path(r'admin/lib/(?P<p1>.*)/(?P<p2>.*)$', views.admin_lib2),
  28. re_path(r'admin/lib/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)$', views.admin_lib3),
  29. re_path(r'admin/lib/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)/(?P<p4>.*)$', views.admin_lib4),
  30. re_path(r'admin/page/(?P<p1>.*)$', views.admin_page),
  31. re_path(r'admin/page/(?P<p1>.*)/(?P<p2>.*)$', views.admin_page2),
  32. re_path(r'admin/pages/(?P<p1>.*)$', views.admin_pages),
  33. re_path(r'admin/pages/(?P<p1>.*)/(?P<p2>.*)$', views.admin_pages2),
  34. re_path(r'front/(?P<p1>.*)$', views.schema_front1),
  35. re_path(r'front/(?P<p1>.*)/(?P<p2>.*)$', views.schema_front2),
  36. re_path(r'front/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)$', views.schema_front3),
  37. re_path(r'front/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)/(?P<p4>.*)$', views.schema_front4),
  38. re_path(r'{}/front/(?P<p1>.*)$'.format(schemaName), views.schema_front1),
  39. re_path(r'{}/front/(?P<p1>.*)/(?P<p2>.*)$'.format(schemaName), views.schema_front2),
  40. re_path(r'{}/front/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)$'.format(schemaName), views.schema_front3),
  41. re_path(r'{}/front/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)/(?P<p4>.*)$'.format(schemaName), views.schema_front4),
  42. # re_path(r'assets/(?P<p1>.*)$', views.assets1),
  43. # re_path(r'assets/(?P<p1>.*)/(?P<p2>.*)$', views.assets2),
  44. # re_path(r'assets/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)$', views.assets3),
  45. # re_path(r'assets/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)/(?P<p4>.*)$', views.assets4),
  46. #re_path(r'admin/(?P<p1>.*)$', views.admin_file1),
  47. re_path(r'admin/(?P<p1>.*)/(?P<p2>.*)$', views.admin_file2),
  48. re_path(r'admin/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)$', views.admin_file3),
  49. re_path(r'admin/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)/(?P<p4>.*)$', views.admin_file4),
  50. re_path(r'layui/(?P<p1>.*)$', views.layui1),
  51. re_path(r'layui/(?P<p1>.*)/(?P<p2>.*)$', views.layui2),
  52. re_path(r'layui/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)$', views.layui3),
  53. re_path(r'layui/(?P<p1>.*)/(?P<p2>.*)/(?P<p3>.*)/(?P<p4>.*)$', views.layui4),
  54. re_path(r'pages/(?P<p1>.*)$', views.front_pages),
  55. re_path(r'pages/(?P<p1>.*)/(?P<p2>.*)$', views.front_pages2),
  56. # re_path(r'pages/(?P<p1>.*)$', views.front_file1),
  57. # re_path(r'(?P<p1>css|jss|img|image|iamges|font|fonts)/(?P<p2>.*)$', views.front_file2),
  58. re_path(r'modules/(?P<p1>.*)$', views.front_modules),
  59. re_path(r'css/(?P<p1>.*)$', views.css1),
  60. re_path(r'js/(?P<p1>.*)$', views.js1),
  61. re_path(r'img/(?P<p1>.*)$', views.img1),
  62. path(r'test/<str:p1>/',views.test),
  63. path(r'null',views.null),
  64. ]
  65. #判断admin使用vue还是jquery
  66. if os.path.isdir(os.path.join(os.getcwd(),"templates/front/admin/dist/")):
  67. urlpatterns.extend([
  68. path(r'{}/admin/dist/index.html'.format(schemaName),
  69. TemplateView.as_view(template_name='front/admin/dist/index.html')),
  70. path(r'{}/admin/'.format(schemaName), TemplateView.as_view(template_name='front/admin/dist/index.html')),
  71. # 以下是后台admin的url匹配规则
  72. path(r'admin/dist/index.html'.format(schemaName),
  73. TemplateView.as_view(template_name='front/admin/dist/index.html')),
  74. path(r'admin/', TemplateView.as_view(template_name='front/admin/dist/index.html')),
  75. ])
  76. else:
  77. urlpatterns.extend([
  78. path(r'{}/admin/index.html'.format(schemaName),
  79. TemplateView.as_view(template_name='front/admin/index.html')),
  80. path(r'{}/admin/'.format(schemaName), TemplateView.as_view(template_name='front/admin/index.html')),
  81. # 以下是后台admin的url匹配规则
  82. path(r'admin/index.html'.format(schemaName),
  83. TemplateView.as_view(template_name='front/admin/index.html')),
  84. path(r'admin/', TemplateView.as_view(template_name='front/admin/index.html')),
  85. ])
  86. if os.path.isfile(os.path.join(os.getcwd(),"templates/front/index.html")):
  87. urlpatterns.extend([
  88. path(r'index.html', TemplateView.as_view(template_name='front/index.html')),
  89. path(r'{}/index.html'.format(schemaName), TemplateView.as_view(template_name='front/index.html')),
  90. path(r'{}/front/index.html'.format(schemaName), TemplateView.as_view(template_name='front/index.html')),
  91. path(r'', TemplateView.as_view(template_name='front/index.html')),
  92. ])

5.3 Users_v.py

  1. # coding:utf-8
  2. __author__ = "ila"
  3. from django.http import JsonResponse
  4. from .users_model import users
  5. from util.codes import *
  6. from util.auth import Auth
  7. import util.message as mes
  8. from dj2.settings import host,port,user,passwd,dbName,hasHadoop
  9. def users_login(request):
  10. if request.method in ["POST", "GET"]:
  11. msg = {'code': normal_code, "msg": mes.normal_code}
  12. req_dict = request.session.get("req_dict")
  13. if req_dict.get('role')!=None:
  14. del req_dict['role']
  15. datas = users.getbyparams(users, users, req_dict)
  16. if not datas:
  17. msg['code'] = password_error_code
  18. msg['msg'] = mes.password_error_code
  19. return JsonResponse(msg)
  20. req_dict['id'] = datas[0].get('id')
  21. return Auth.authenticate(Auth, users, req_dict)
  22. def users_register(request):
  23. if request.method in ["POST", "GET"]:
  24. msg = {'code': normal_code, "msg": mes.normal_code}
  25. req_dict = request.session.get("req_dict")
  26. error = users.createbyreq(users, users, req_dict)
  27. if error != None:
  28. msg['code'] = crud_error_code
  29. msg['msg'] = error
  30. return JsonResponse(msg)
  31. def users_session(request):
  32. '''
  33. '''
  34. if request.method in ["POST", "GET"]:
  35. msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}
  36. req_dict = {"id": request.session.get('params').get("id")}
  37. msg['data'] = users.getbyparams(users, users, req_dict)[0]
  38. return JsonResponse(msg)
  39. def users_logout(request):
  40. if request.method in ["POST", "GET"]:
  41. msg = {
  42. "msg": "退出成功",
  43. "code": 0
  44. }
  45. return JsonResponse(msg)
  46. def users_page(request):
  47. '''
  48. '''
  49. if request.method in ["POST", "GET"]:
  50. msg = {"code": normal_code, "msg": mes.normal_code,
  51. "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
  52. req_dict = request.session.get("req_dict")
  53. tablename = request.session.get("tablename")
  54. try:
  55. __hasMessage__ = users.__hasMessage__
  56. except:
  57. __hasMessage__ = None
  58. if __hasMessage__ and __hasMessage__ != "否":
  59. if tablename != "users":
  60. req_dict["userid"] = request.session.get("params").get("id")
  61. if tablename == "users":
  62. msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
  63. msg['data']['pageSize'] = users.page(users, users, req_dict)
  64. else:
  65. msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
  66. msg['data']['pageSize'] = [],1,0,0,10
  67. return JsonResponse(msg)
  68. def users_info(request, id_):
  69. '''
  70. '''
  71. if request.method in ["POST", "GET"]:
  72. msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
  73. data = users.getbyid(users, users, int(id_))
  74. if len(data) > 0:
  75. msg['data'] = data[0]
  76. # 浏览点击次数
  77. try:
  78. __browseClick__ = users.__browseClick__
  79. except:
  80. __browseClick__ = None
  81. if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
  82. click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
  83. ret = users.updatebyparams(users, users, click_dict)
  84. if ret != None:
  85. msg['code'] = crud_error_code
  86. msg['msg'] = ret
  87. return JsonResponse(msg)
  88. def users_save(request):
  89. '''
  90. '''
  91. if request.method in ["POST", "GET"]:
  92. msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
  93. req_dict = request.session.get("req_dict")
  94. req_dict['role'] = '管理员'
  95. error = users.createbyreq(users, users, req_dict)
  96. if error != None:
  97. msg['code'] = crud_error_code
  98. msg['msg'] = error
  99. return JsonResponse(msg)
  100. def users_update(request):
  101. '''
  102. '''
  103. if request.method in ["POST", "GET"]:
  104. msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
  105. req_dict = request.session.get("req_dict")
  106. if req_dict.get("mima") and req_dict.get("password"):
  107. if "mima" not in users.getallcolumn(users,users):
  108. del req_dict["mima"]
  109. if "password" not in users.getallcolumn(users,users):
  110. del req_dict["password"]
  111. try:
  112. del req_dict["clicknum"]
  113. except:
  114. pass
  115. error = users.updatebyparams(users, users, req_dict)
  116. if error != None:
  117. msg['code'] = crud_error_code
  118. msg['msg'] = error
  119. return JsonResponse(msg)
  120. def users_delete(request):
  121. '''
  122. '''
  123. if request.method in ["POST", "GET"]:
  124. msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
  125. req_dict = request.session.get("req_dict")
  126. error = users.deletes(users,
  127. users,
  128. req_dict.get("ids")
  129. )
  130. if error != None:
  131. msg['code'] = crud_error_code
  132. msg['msg'] = error
  133. return JsonResponse(msg)

5.4 Auth.py

  1. # coding:utf-8
  2. # author:ila
  3. import base64, copy
  4. from django.http import JsonResponse
  5. from django.apps import apps
  6. from util.codes import *
  7. from util import message as mes
  8. class Auth(object):
  9. def authenticate(self, model, req_dict):
  10. """
  11. 用户登录,登录成功返回token;登录失败返回失败原因
  12. :param username:账号
  13. :param password:密码
  14. :return: json
  15. """
  16. msg = {'code': normal_code, 'msg': mes.normal_code, 'data': {}}
  17. tablename = model.__tablename__
  18. encode_dict = {"tablename": tablename, "params": req_dict}
  19. encode_str = base64.b64encode(str(encode_dict).encode("utf-8"))
  20. msg['data']["id"] = req_dict.get("id")
  21. msg["id"] = req_dict.get("id")
  22. msg['token'] = encode_str.decode('utf-8')
  23. return JsonResponse(msg)
  24. def identify(self, request):
  25. """
  26. 用户鉴权
  27. :param request:本次请求对象
  28. :return: list
  29. """
  30. msg = {'code': normal_code, 'msg': mes.normal_code, 'data': {}}
  31. # django的header被处理过了
  32. token = request.META.get('HTTP_TOKEN')
  33. if token and token !="null":
  34. auth_token = copy.deepcopy(token)
  35. decode_str = base64.b64decode(auth_token).decode("utf8")
  36. decode_str=decode_str.replace('"null"','""').replace('null','""')
  37. decode_dict = eval(decode_str)
  38. tablename2 = decode_dict.get("tablename")
  39. params2 = decode_dict.get("params",{})
  40. datas=None
  41. allModels = apps.get_app_config('main').get_models()
  42. for model in allModels:
  43. if model.__tablename__ == tablename2:
  44. datas = model.getbyparams(model, model, params2)
  45. if not datas:
  46. msg['code'] = username_error_code
  47. msg['msg'] = '找不到该用户信息'
  48. result = msg
  49. else:
  50. request.session['tablename'] = tablename2
  51. request.session['params'] = params2
  52. msg['msg'] = '身份验证通过。'
  53. result = msg
  54. else:
  55. msg['code'] = 401
  56. msg['msg'] = 'headers未包含认证信息。'
  57. result = msg
  58. return result

6.LW文档大纲参考

具体LW如何写法,可以咨询博主,耐心分享!

你可能还有感兴趣的项目👇🏻👇🏻👇🏻

更多项目推荐:计算机毕业设计项目

Python毕业设计精品项目《1000套》

微信小程序毕业设计精品项目《1000套》

大数据/机器学习毕业设计精品项目《1000套》

如果大家有任何疑虑,请在下方咨询或评论


本文转载自: https://blog.csdn.net/weixin_51966461/article/details/142436262
版权归原作者 计算机编程-吉哥 所有, 如有侵权,请联系我们删除。

“计算机毕业设计 基于 Hadoop平台的岗位推荐系统 SpringBoot+Vue 前后端分离 附源码 讲解 文档”的评论:

还没有评论