赞
踩
本次功能,我们选择使用 ajax 来实现
在 templates/admin/project/edit.html
中,给删除按钮写点样式,代码如下:
{
% block css %}
.
.
<style>
.cancel {
cursor: pointer;
}
</style>
{
% endblock %}
{ % block js %} <script> $(function () { $('.cancel').click(function () { if (confirm('删除后不可恢复,请慎重!')) { var id = $(this).data('id') var _this = $(this) $.ajax({ type: "DELETE", url: "/admin/project/del_gallery", data: JSON.stringify({ id: id}), success: function (data) { if (data.status == 1) { alert(data.msg) _this.parents('li').remove() } } }) } }) }) </script> { % endblock %}
后端接收数据,并执行数据库删除
from flask import render_template, request, flash, redirect, json, jsonify
# 删除相册
@project_blue.route('/admin/project/del_gallery', methods=['DELETE'])
def del_gallery():
data = json.loads(request.get_data())
obj = Gallery.query.filter_by(id=data['id']).first()
db.session.delete(obj)
db.session.commit()
return jsonify(status=1, msg='删除成功')
刷新所有项目首页,你会发现创建时间显示的有点难看了,这时我们需要对时间进行格式化处理。
在 app/__init__.py
中,添加带注释的代码:
. . . def create_app(config_name): app.config.from_object(config[config_name]) db.init_app(app) Session(app) # 定义时间日期格式化 @app.template_filter('strftime') def _jinja2_filter_datetime(date, fmt=None): if fmt is None: fmt = '%Y年%m月%d日' return date.strftime(fmt) . . .
然后修改首页循环数据的代码:
<td>{
{ project.create_time|strftime }}</td>
如果 Windows 电脑有报错如下:
UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error
请修改 app/__init__.py
中的代码:
. . . def create_app(config_name): app.config.from_object(config[config_name]) db.init_app(app) Session(app) # 定义时间日期格式化 @app.template_filter('strftime') def _jinja2_filter_datetime(date): return date.strftime('%Y{y}%m{m}%d{d}').format(y='年',m='月',d='日') . . .
准备搜索 form 表单
<form class="am-form am-form-horizontal">
<div class="am-u-sm-12 am-u-md-4">
<div class="am-form-group">
<label for="title" class="am-u-sm-2 am-form-label">标题</label>
<div class="am-u-sm-10">
<input type="text" name="keyword" placeholder="请输入标题" value="">
</div>
</div><
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。