def manage_category():
"""
????
"""
if request.method == 'GET':
category_id = request.args.get('category_id')
if category_id:
category_object = Category.select()\
.where(Category.id == category_id)\
.get()
return jsonify(payload=model_to_dict(category_object))
else:
category_objects = Category.select().order_by(Category.id)
return render_template('manage/category.html',
categorys=category_objects,
page_title=u'????')
# ????
elif request.method == 'POST':
category_name = request.form.get('category_name', '')
if not category_name:
raise InvalidParams(message=u'??????????????')
try:
Category.create(name=category_name)
return jsonify(message=u'?????{}???'.format(category_name))
except IntegrityError:
raise ParamsConflict(message=u'???????{} ???'
.format(category_name))
# ????
elif request.method == 'PATCH':
category_name = request.form.get('category_name')
category_id = request.form.get('category_id')
if not category_name:
raise InvalidParams(message=u'???????name ????')
try:
Category.update(name=category_name,
update_time=datetime.now())\
.where(Category.id == category_id)\
.execute()
return jsonify(message=u'???? {} ????'.format(category_name))
except IntegrityError:
raise ParamsConflict(message=u'???????{} ???'
.format(category_name))
# ????
elif request.method == 'DELETE':
category_id = request.form.get('category_id')
category_name = request.form.get('category_name')
try:
content_query = Content.select()\
.join(Category)\
.where(Category.id == category_id)\
.get()
project_url = content_query.project_url
raise InvalidParams(message=u'???????{project_url}????'
u'???????????????'
.format(project_url=project_url))
except DoesNotExist:
Category.delete().where(Category.id == category_id).execute()
return jsonify(message=u'?????{}???'.format(category_name))
评论列表
文章目录