我想添加中文注释# !usrbinenv python# __ coding utf-8 __from flask import Flask request render_templatejsonifyabortsessionredirect url_forimport osimport modelsfrom models import appimport timefrom sqlalchemy
!/usr/bin/env python
* coding: utf-8 *
from flask import Flask, request, render_template,jsonify,abort,session,redirect, url_for import os import models from models import app import time from sqlalchemy import or_,and_ import jieba
@app.route('/single', methods=['GET', 'POST']) def single(): stu_id = session.get('stu_id') datas = models.User.query.get(stu_id) if not datas: return redirect(url_for('login')) if request.method == 'GET': id = request.args.get('id') result = models.XinWen.query.get(id) datas = [] for resu in models.PingLun.query.filter(models.PingLun.xinwen_id==id).all(): dicts1 = {} dicts1['date'] = resu.dates dicts1['content'] = resu.content dicts1['username'] = models.User.query.get(resu.user_id).name datas.append(dicts1)
return render_template('apps/single.html',**locals())
@app.route('/', methods=['GET', 'POST']) @app.route('/index', methods=['GET', 'POST']) def index(): stu_id = session.get('stu_id') if request.method == 'GET': result = models.XinWen.query.all()[::-1][:50] search = request.args.get('search') if search: result = models.XinWen.query.filter(or_(models.XinWen.title.like("%{}%".format(search)),models.XinWen.media.like("%{}%".format(search))))
return render_template('apps/index.html',**locals())
@app.route('/add_pinlun', methods=['GET', 'POST']) def add_pinlun(): stu_id = session.get('stu_id') datas = models.User.query.get(stu_id) if not datas: return redirect(url_for('login')) if request.method == 'POST': resuid = request.form.get('resuid') content = request.form.get('content') if models.XinWen.query.get(resuid): models.db.session.add( models.PingLun( content = content, user_id = stu_id, xinwen_id = resuid )) models.db.session.commit()
return redirect('/single?id={}'.format(resuid))
@app.route('/mypinlung', methods=['GET', 'POST']) def mypinlung(): stu_id = session.get('stu_id') datas = models.User.query.get(stu_id) if not datas: return redirect(url_for('login')) if request.method == 'GET': result = models.PingLun.query.all() results = [] for resu in result: dicts1 = {} dicts1['content'] = resu.content dicts1['dates'] = resu.dates dicts1['xinwen_id'] = resu.xinwen_id dicts1['xinwen'] = models.XinWen.query.get(resu.xinwen_id).title results.append(dicts1)
return render_template('apps/mypinglun.html',**locals())
import random from tuijian import similarity,loadData,recommandList import traceback @app.route('/tuijian', methods=['GET', 'POST']) def tuijian(): stu_id = session.get('stu_id') datas = models.User.query.get(stu_id) if not datas: return redirect(url_for('login')) if request.method == 'GET': datas = ['{},{},{}'.format(resu.user_id, 4, resu.xinwen_id) for resu in models.PingLun.query.all()] print(datas) data = loadData(datas) W = similarity(data) try: r = recommandList(data, W, str(stu_id), 5, 10) except: print(traceback.format_exc()) r = [] print(r) if r: results = [] for rid in r: dyid = models.User.query.get(rid[0]) if dyid: results.append(dyid) else: results = random.choices(models.XinWen.query.all()[::-1],k=9) return render_template('apps/tuijian.html',**locals())
@app.route('/signup', methods=['GET', 'POST']) def signup(): stu_id = session.get('stu_id') datas = models.User.query.get(stu_id) if datas: return redirect(url_for('index')) elif request.method=='POST': name = request.form.get('name') email = request.form.get('email') pwd = request.form.get('pwd') data = models.User.query.filter(models.User.name==name).all() if data: return render_template('user/index.html',error='该用户名已被注册') elif name == '' or email == '' or pwd == '': return render_template('user/index.html', error='输入不能为空') else: models.db.session.add(models.User(name=name, email=email, password=pwd)) models.db.session.commit() return redirect(url_for('login'))
@app.route('/login', methods=['GET', 'POST']) def login(): stu_id = session.get('stu_id') datas = models.User.query.get(stu_id) if datas: return redirect(url_for('index')) if request.method=='GET': return render_template('user/index.html') elif request.method=='POST': name = request.form.get('name') pwd = request.form.get('pwd') data = models.User.query.filter(and_(models.User.name==name,models.User.password==pwd)).all() if not data: return render_template('user/index.html',error='账号密码错误') else: if data[0].name == 'admin': session['stu_id'] = data[0].id session.permanent = True return redirect('/admin') else: session['stu_id'] = data[0].id session.permanent = True return redirect(url_for('index'))
@app.route('/loginout', methods=['GET']) def loginout(): if request.method=='GET': session['stu_id'] = '' session.permanent = False return redirect(url_for('login'))
原文地址: https://www.cveoy.top/t/topic/bSpC 著作权归作者所有。请勿转载和采集!