后端逻辑 表单验证, 这里编辑就是和添加的内容一样,所以可以直接继承添加轮播图的表单验证,然后多加一个轮播图的id即可 编辑cmd.forms.py class UpdateBannerForm(AddBannerForm): banner_id = IntegerField(validators=[InputRequired(message='请输入轮播图的id!')]) 视图,编辑cms.views.py ... from .forms import UpdateBannerForm @bp…
后台逻辑 编辑cms.views.py @bp.route('/dbanner/',methods=['POST']) @login_required def dbanner(): banner_id = request.form.get('banner_id') if not banner_id: return xjson.json_param_error(message='请传入轮播图id!') banner = BannerModel.query.get(banner_id) if not…
首页我们在模态框中的保存按钮加一个id,这样方便我们选取这个按钮 <button type="button" class="btn btn-primary" id="save-banner-btn">保存</button> 在static/cms/js/下新建banners.js $(function () { $("#save-banner-btn").click(function (event) {…
首先,我们需要给轮播图设计一张表,因为轮播图前端要展示,CMS要管理,所以我们在apps下新建个models.py 编辑apps.models.py from exts import db from datetime import datetime class BannerModel(db.Model): __tablename__ = 'banner' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name =…
编辑cms_banners.html, 在{% block main_content%}中加上表给内容如下 {% block main_content %} <table class="table table-bordered"> <thead> <tr> <th>名称</th> <th>图片链接</th> <th>跳转链接</th> <th>优先级</th&g…
首页的布局如下 因为以后所有的内容都是在main-container里面,所以这里我们修改front_base.html,把{% block body%}{% endblock%}放到里面去 <div class="main-container"> {% block body %}{% endblock %} </div> 创建static/front/css/front_base.css, 并且在front_base.html中引入它 .main-contai…
简易.常用的轮播图效果ViewPager ,老技术了,记一笔留着以后ctrl C + ctrl V    需求如下: 不定张个数的ImagView轮播,右下角显示轮播点图标,每隔固定时间切换下一张,最后一张图片自动切换后的为第一张图片,手指触摸可以滑动.   思路: 初始化Viewpager和轮播点之后  , 开启一个子线程,每隔3秒判断一次 当前位置是不是轮播图数据个数的最后一个位置,是的话切换到第一张图片,不是的话切换到下一张图片   一.先看布局文件,根容器为相对布局,里面放一个ViewP…
1.首先在axure软件中插入一张手机模型图片并调整为合适大小 2.在需要展示轮播图片位置拖入[动态面板]并且调整大小 拖入后双击动态面板,填入面板名称,并且添加面板状态(此处轮播图为三张,所以有三个面板状态). 3.添加完毕后双击第一个面板状态进行编辑,先在元件库中拖入图像元件,然后鼠标右键选择导入图像,将需要进行轮播的第一张图片添加至此处并且调整大小和面板矩形框相同.并且拖入三个小圆型,当轮播第一张图片时圆形显示为绿色,其余不变,所以将第一个圆形的样式填充为绿色. 4.添加完第一张图片后返回…
编辑 form,继承添加的form 视图 @bp.route('/ubanners/', methods=['POST'])@login_required@permission_required(CMSPersmission.POSTER)def ubanners(): """ 修改banner """ form = UpdateBannerForm(request.form) if form.validate(): banner_id = fo…
目录 1.项目前端环境搭建 1.创建项目目录 2.前端初始化全局变量和全局方法 3.跨域CORS 4.axios配置 2.轮播图功能的实现 1.安装依赖模块 2.上传文件相关配置 3.注册home子应用 4.创建轮播图的model模型 5.创建Banner的序列化器 6.创建Banner的视图类 7.配置Banner的路由 8.配置Xadmin 9.注册轮播图模型到Xadmin中 10.客户端代码获取数据 1.项目前端环境搭建 1.创建项目目录 cd 项目目录 vue init webpack…