from django.shortcuts import render, redirect, HttpResponse, reverse
from django.contrib.auth import authenticate,login,logout
from book.reg_login_forms.register_forms import Reg_Form
from book.reg_login_forms.login import Login_Form
from book.models import BookUser, Book, hits
# Create your views here.
def index(request):
book_list = Book.objects.alias()[:24]
return render(request, 'home/index.html',locals())
def detail(request,id):
bk=Book.objects.get(id=id)
currentuser = request.user.id
if currentuser:
try:
hit = hits.objects.get(userid=currentuser,bookid=id)
hit.hitnum +=1
hit.save()
print(hit)
except hits.DoesNotExist:
hit2 = hits()
hit2.userid = currentuser
hit2.bookid = id
hit2.hitnum += 1
hit2.save()
print(hit2)
data = str(currentuser) + '\t' + str(id) +'\t' + str(1)
from hdfs import Client
from utils import tools
hdfs_path = '/book/zyhits.txt'
client = Client('http://node2:9870')
tools.append_to_hdfs(client, hdfs_path, data+'\n')
return render(request,'home/detail.html', locals())
else:
return redirect(reverse('login'))
# if not request.user.is_authenticated:
# return redirect(reverse('login'))
# else:
# return render(request, 'home/detail.html', locals())
from recommend import recommend
import redis
pool = redis.ConnectionPool(host='192.168.10.10', port=6379)
redis_client = redis.Redis(connection_pool=pool)
def recommend_book(request):
if request.user.is_authenticated:
userid = request.user.id
recommend.getRecommendByUserID(userid, 6)
print("当前的用户ID是:", userid)
recommed_result = redis_client.get(userid)
print("推荐的结果:", recommed_result)
booklist = str(recommed_result).split("|")
print(booklist)
if booklist[0] != "None":
bookset = []
for bk in booklist[:-1]:
book_id = bk.split(",")[1]
print("图书的ID是:", book_id)
bk_info = Book.objects.get(id=book_id)
bookset.append(bk_info)
print("推荐的图书信息:", bookset)
return render(request, 'home/recommend.html', locals())
else:
bookset = Book.objects.order_by("rating")[:12]
return render(request, 'home/recommend.html', locals())
else:
return redirect(reverse('login'))
def log_in(request):
if not request.user.is_authenticated:
if request.method =='GET':
forms_l = Login_Form()
return render(request, 'auth/login.html', locals())
elif request.method == 'POST':
forms_l = Login_Form(request.POST)
if forms_l.is_valid():
user = forms_l.cleaned_data['user']
pwd = forms_l.cleaned_data['pwd']
user1 = authenticate(request, username = user,password = pwd)
if user1:
login(request, user1)
elif not user1:
pwderr = '用户名密码错误'
return render(request, 'auth/login.html', locals())
return redirect(reverse('index'))
def register(request):
if not request.user.is_authenticated:
if request.method == 'GET':
forms = Reg_Form()
return render(request, 'auth/register.html', locals())
elif request.method == 'POST':
forms = Reg_Form(request.POST)
if forms.is_valid():
user = forms.cleaned_data['username']
pwd = forms.cleaned_data['pwd']
gender = forms.cleaned_data['gender']
birthday = forms.cleaned_data['birthday']
phone = forms.cleaned_data['phone']
BookUser.objects.create_user(username=user, password=pwd, gender=gender, birthday=birthday, phone=phone) #相当于把用户数据写入数据库中去
return redirect(reverse('login'))
else:
return render(request, 'auth/register.html', locals())
else:
return HttpResponse("你已经登录了")
def log_out(request):
logout(request)
return redirect(reverse('index'))
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
推荐系统是一种信息过滤系统,能够自动预测用户对特定产品或服务的偏好,并向其提供个性化的推荐。它通常基于用户的历史行为、个人喜好、兴趣和偏好等,通过数据挖掘和机器学习算法,在大数据的支持下生成个性化的推荐内容,从而提高用户购买率和满意度。推荐系统广泛应用于电子商务、社交媒体、新闻资讯、音乐、电影等领域。推荐系统的作用是根据用户的历史行为和偏好,为用户推荐个性化的内容,以满足用户的需求和兴趣。 在推荐系统架构中,离线计算部分主要使用 Hadoop、Spark、Hive 等大数据处理技术,将海量历史数据进行离线处理,构建出推荐模型。在线计算部分则使用 Flask、Django 或 Tornado 等 Web 应用框架,将推荐模型部署到 Web 服务器上,实现实时推荐服务。
资源推荐
资源详情
资源评论




















收起资源包目录





































































































共 118 条
- 1
- 2
资源评论


风口浪尖上的鼠标
- 粉丝: 19
- 资源: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
