from django.shortcuts import render, redirect, reverse
from django.http import JsonResponse
from home.models import book, hits
from authorize.models import user
from django.http import HttpResponse, HttpResponseRedirect
from django.utils.deprecation import MiddlewareMixin
# from utils import tools
# Create your views here.
# 路由url白名单
WHITESITE = []
# 主页
def index(request):
book_list = book.objects.all()
user = request.session.get('user', None)
userid = request.session.get('userid', None)
# locals()将所有变量传到templates
# print(type(book_list))
# <class 'django.db.models.query.QuerySet'>
return render(request, 'home/index.html', locals())
# 用户登录
def login(request):
if request.is_ajax():
email = request.POST.get('email')
password = request.POST.get('password')
userEntry = user.objects.filter(email=email, password=password)
print(email, password, '=========================')
if userEntry.exists():
request.session['name'] = userEntry[0].name
request.session['userid'] = userEntry[0].id
print('True')
data = {'code': 1}
else:
print('False')
data = {'code': 0}
return JsonResponse(data)
return render(request, 'auth/login.html')
class AuthMiddleware(MiddlewareMixin):
def process_request(self, request):
if request.path_info in WHITESITE or str(request.path_info).startswith('/admin'):
print(request.path_info)
elif request.session.get('user', None):
print(request.path_info)
else:
return HttpResponseRedirect('/login/')
# 用户退出登录
def logout(request):
request.session.flush()
return redirect('index')
# 注册
def register(request):
if request.method == 'POST':
email = request.POST.get('email')
name = request.POST.get('name')
password = request.POST.get('password')
password2 = request.POST.get('password2')
# 确认密码和没有相同的邮箱
if password == password2 and not user.objects.filter(email=email).exists() and password2 is not '' and len(
password2)==6:
userEntry = user(email=email, name=name, password=password)
userEntry.save()
return redirect('login')
else:
return render(request, 'auth/register.html', {'msg': '注册失败,请重试!'})
return render(request, 'auth/register.html')
# 用户是否存在
def register_conf_email(request):
"""
ajax 传注册的email验证是否已经存在
:param request:
:return: 存在返回True,否在返回False
"""
email = request.POST.get('email')
result = user.objects.filter(email=email)
if result.exists():
return JsonResponse({'result': True})
else:
return JsonResponse({'result': False})
def getBookInfo(request):
id = request.GET.get('id')
bk = book.objects.get(id=id)
username = request.session.get('user', None)
currentuser = user.objects.get(name=username)
try:
hit = hits.objects.get(userid=currentuser.id, bookid=id)
hit.hitnum += 1
hit.save()
except:
hit = hits()
hit.bookid = id
hit.hitnum = 1
hit.userid = currentuser.id
hit.save()
data = str(currentuser.id) + ',' + str(id) + ',' + str(1)
# tools.
return render(request, 'home/detail.html', locals())
import redis
pool = redis.ConnectionPool(host='localhost', port=6379)
redis_client = redis.Redis(connection_pool=pool)
def getRecommendBook(request):
userid = request.GET.get('userid')
recommendbook = redis_client.get(int(userid))
booklist = str(recommendbook).split('|')
bookset = []
for bk in booklist[:-1]:
bookid = bk.split(',')[-1]
bk_entry = book.objects.get(id=bookid)
bookset.append(bk_entry)
return render(request, 'auth/recommend.html', locals())
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何问题也可以随时私信博主,博主会第一时间给您解答!!! 本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何问题也可以随时私信博主,博主会第一时间给您解答!!! 本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何问题也可以随时私信博主,博主会第一时间给您解答!!!
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计:基于Django+Spark的图书智能推荐系统.zip (57个子文件)
content
recommend
recom.py 743B
train.py 829B
views.py 590B
templates
utils
upload.html 622B
home
detail.html 123B
index.html 1KB
base.html 5KB
auth
register.html 3KB
login.html 2KB
recommend.html 123B
.idea
.name 12B
djangoFilm.iml 1KB
dataSources
fc83f060-3616-4d38-a157-d2217cd9ecc7
storage_v2
_src_
schema
main.uQUzAA.meta 59B
fc83f060-3616-4d38-a157-d2217cd9ecc7.xml 22KB
dataSources.local.xml 680B
vcs.xml 180B
workspace.xml 40KB
misc.xml 295B
dataSources.xml 911B
modules.xml 272B
encodings.xml 135B
home
__init__.py 0B
tests.py 60B
admin.py 193B
migrations
__init__.py 0B
0001_initial.py 2KB
0002_auto_20200528_0945.py 404B
0004_delete_user.py 291B
0003_auto_20200528_1408.py 401B
0005_auto_20200529_0441.py 564B
apps.py 83B
models.py 2KB
urls.py 217B
views.py 3KB
manage.py 630B
authorize
__init__.py 0B
tests.py 60B
admin.py 224B
migrations
__init__.py 0B
0001_initial.py 2KB
0003_auto_20200528_1418.py 364B
0002_auto_20200528_1408.py 395B
apps.py 93B
models.py 2KB
urls.py 437B
views.py 4KB
uploads
GoodBooks.csv 5.27MB
.gitignore 2KB
static
js
register_login.js 4KB
index.js 659B
jquery-3.5.1.min.js 87KB
css
auth
signin.css 867B
index.css 255B
djangoFilm
__init__.py 0B
wsgi.py 397B
urls.py 325B
settings.py 3KB
共 57 条
- 1
资源评论
- weixin_589436942024-01-15#无法联系上传者 #参考意义不大
- 祝珺2023-11-01这个资源值得下载,资源内容详细全面,与描述一致,受益匪浅。
白话机器学习
- 粉丝: 8917
- 资源: 7681
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功