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
共56个文件
py:32个
xml:8个
html:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 115 浏览量
2024-03-06
22:34:02
上传
评论
收藏 1.63MB ZIP 举报
温馨提示
基于spark的系统
资源推荐
资源详情
资源评论
收起资源包目录
基于Django、Spark的图书推荐系统.zip (56个子文件)
djangoFilm-master
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
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
共 56 条
- 1
资源评论
我慢慢地也过来了
- 粉丝: 6217
- 资源: 3935
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功