def user_news_release(): user = g.user if not user: return redirect('/') try: cates = Category.query.filter(Category.id != 1).all() except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg="查询新闻分类错误") categary_list = [] if cates: for cate in cates: categary_list.append(cate.to_dict()) if request.method == 'GET': return render_template('news/user_news_release.html', categary_list=categary_list) if request.method == "POST": title = request.form.get('title') categery = request.form.get('categary') digest = request.form.get('digest') image_file = request.files.get('image') content = request.form.get('content') print(content) if not all([title, categery, digest, image_file, content]): return jsonify(errno=RET.PARAMERR, errmsg="参数不全") image_data = image_file.read() try: image_name = image_storage.storage(image_data) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg="上传图片到期牛云错误") new_release = News() new_release.title = title new_release.digest = digest new_release.index_image_url = constants.QINIU_DOMIN_PREFIX + image_name new_release.content = content new_release.category_id = categery new_release.status = 1 new_release.user_id = user.id new_release.source = user.nick_name new_release.create_time = datetime.now() try: db.session.add(new_release) db.session.commit() except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg="保存新闻失败") return jsonify(errno=RET.OK, errmsg="OK")
def news_release(): # 判断用户是否登录 user = g.user if not user: return abort(404) if request.method == 'GET': categories = list() try: categories = Category.query.all() # type:Category categories.pop(0) except BaseException as e: current_app.logger.error(e) return render_template('news/user_news_release.html', categories=categories) # # POST else: # 获取参数 title = request.form.get('title') digest = request.form.get('digest') category_id = request.form.get('category_id') index_image = request.files.get('index_image') # type:FileStorages content = request.form.get('content') # 校验参数 if not all([title, digest, content, category_id]): return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) try: category_id = int(category_id) except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR]) # 将数据存入数据库 news = News() news.title = title news.digest = digest news.source = '个人发布' news.category_id = category_id news.create_time = datetime.now() news.status = 1 news.content = content news.user_id = user.id if index_image: # 将照片存入第三方平台 index_image = index_image.read() # try: files_name = upload_img(index_image) except BaseException as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg=error_map[RET.THIRDERR]) news.index_image_url = QINIU_DOMIN_PREFIX + files_name try: db.session.add(news) db.session.commit() except BaseException as e: current_app.logger.error(e) db.session.rollback() return jsonify(errno=RET.DBERR, errmsg=error_map[RET.DBERR]) # 返回json return jsonify(errno=RET.OK, errmsg=error_map[RET.OK])