后台逻辑 编辑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即可 编辑cmd.forms.py class UpdateBannerForm(AddBannerForm): banner_id = IntegerField(validators=[InputRequired(message='请输入轮播图的id!')]) 视图,编辑cms.views.py ... from .forms import UpdateBannerForm @bp…
首页我们在模态框中的保存按钮加一个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…
简易.常用的轮播图效果ViewPager ,老技术了,记一笔留着以后ctrl C + ctrl V    需求如下: 不定张个数的ImagView轮播,右下角显示轮播点图标,每隔固定时间切换下一张,最后一张图片自动切换后的为第一张图片,手指触摸可以滑动.   思路: 初始化Viewpager和轮播点之后  , 开启一个子线程,每隔3秒判断一次 当前位置是不是轮播图数据个数的最后一个位置,是的话切换到第一张图片,不是的话切换到下一张图片   一.先看布局文件,根容器为相对布局,里面放一个ViewP…
首页的布局如下 因为以后所有的内容都是在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…
1.首先在axure软件中插入一张手机模型图片并调整为合适大小 2.在需要展示轮播图片位置拖入[动态面板]并且调整大小 拖入后双击动态面板,填入面板名称,并且添加面板状态(此处轮播图为三张,所以有三个面板状态). 3.添加完毕后双击第一个面板状态进行编辑,先在元件库中拖入图像元件,然后鼠标右键选择导入图像,将需要进行轮播的第一张图片添加至此处并且调整大小和面板矩形框相同.并且拖入三个小圆型,当轮播第一张图片时圆形显示为绿色,其余不变,所以将第一个圆形的样式填充为绿色. 4.添加完第一张图片后返回…
前台代码 // 在static/js/news/index.js文件中 $(function () { // 新闻列表功能 let $newsLi = $(".news-nav ul li"); let iPage = 1; //默认第1页 let iTotalPage = 1; //默认总页数为1 let sCurrentTagId = 0; //默认分类标签为0 let bIsLoadData = true; // 是否正在向后台加载数据 // 加载新闻列表信息 fn_load_c…
目录 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…
再平常的浏览器页面,轮播图都是必不可缺少的一个板块,在这总结了一下轮播图基本的一些样式 首先介绍一下,本文实现的轮播图的基本效果: 1. 3s自动切换图片,图片切换时提示点跟随切换 2. 鼠标划到图片上,自动切换轮播图停止 3. 指示点划过切换对应的图片,图片切换时提示点跟随切换 4. 点击上一页下一页按钮切换图片 5. 图片切换时有渐变的效果 下表面开始代码的书写 css代码 /*初始化浏览器默认样式*/ *{ margin:; padding:; } /*sowingMap*/ .sowin…
JS版轮播图 html部分和css部分自己任意定 主要构成: 1,一个固定的框 超出框的部分隐藏 2,几张图片float:left 3,下部下原点,点击切换,切换到不同的张都有红色显示 4,左右两个大箭头按钮 JS代码 找到节点 添加事件 用原点的下标来切换图片 鼠标放在框上关闭定时器,不在框上开启定时器  自动播放 到此就算结束了,但是有bug, 会不停的切换下去,全白也会不停切换不,所以让下标等于最后的时候等于一就可以循环播放了 JQ版 html部分 css部分用的是css3 有一个新功能是…
登录七牛云,进入“对象存储”, 新建存储空间(Bucket), 我创建的空间命名为flask-bbs 创建完Bucket,七牛会给我们提供一个测试域名,生产环境中,我们需要绑定自己的域名 在个人面板中进去密钥管理,获取AccessKey/SecretKey 安装七牛python SKD pip install qiniu 后端需要根据认证信息传递token给前端,编辑common.view.py from flask import jsonify import qiniu ... @bp.rou…
新建cms_banners.html继承cms_base.html {% extends 'cms/cms_base.html' %} {% block title %} 轮播图管理-CMS管理系统 {% endblock %} {% block page_title %} 轮播图管理 {% endblock %} {% block main_content %} 这是轮播图管理页面 {% endblock %} cms_banners.html 编辑cms.views,配置视图 @bp.rou…
编辑 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…
后台逻辑 模型 from exts import dbfrom datetime import datetime class BannerModel(db.Model): __tablename__ = 'banner' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(255), nullable=False, comment='banner名') image_…
一.组件化开发 1.1组件化概述 页面特效的制作,特别需要HTML.CSS有固定的布局,所以说现在越来越流行组件开发的模式,就是用JS写一个类,当你实例化这个类的时候,页面上的效果布局也能自动完成. new Carousel(); 实例化后,页面中就有一个轮播图的布局结构,而且可以通过参数传递进去. 这个new里面封装了HTML.CSS.JS的业务逻辑.组件开发的规律就是所有按钮.小圆点.图片等等都是这个类(的实例的)属性,自己管理自己. 组件开发的好处就是在用的时候可以高度自定义,在new的时…
Bootstrap项目实战--响应式轮播图 学习要点: 1.响应式轮播图 本节课我们要在导航条的下方做一张轮播图,自动播放最新的重要动态. 一.响应式轮播图 响应式轮播图 第一步,设置轮播器区域carousel样式class类,写在轮播器<div>里,设置轮播器区域样式(项目实战Bootstrap)slide样式class类,写在轮播器<div>里,设置轮播器滚动样式(项目实战Bootstrap) 第二步,设置轮播器列表区域,就是小圆点区域carousel-indicators样式…
视图 @bp.route('/banners/')@login_required@permission_required(CMSPersmission.POSTER)def banners(): return render_template('cms/cms_banners.html') 给这个url添加选中事件 else if(url.indexOf('banners') >= 0) { var bannerManageLi = $('.banner-manage'); bannerManag…
左右两个箭头可以随浏览器缩放进行移动 保持在图片中间 Html代码: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-sca…
在这篇文章[js高手之路]打造通用的匀速运动框架中,封装了一个匀速运动框架,我们在这个框架的基础之上,加上缓冲运动效果,然后用运动框架来做幻灯片(上下,左右),效果如下: 1 2 3 4 5 // 0 ? Math.ceil(speed) : Math.floor(speed); if (cur != target) { bFlag = false; if (key == 'opacity') { obj.style.opacity = ( cur + speed ) / 100; obj.st…
一.轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过手动点击事件切换图片. 二.Html布局 首先父容器container存放所有内容,子容器list存放图片.子容器buttons存放按钮小圆点. <div id="container"> <div id="list" style="left: -600px;"> <img src=&qu…
成品效果如下图所示: 因为博客园限制图片上传大小被我删了一些帧数,所以图片看起来会有一点卡,现实运行是不会的 搭建HTML和CSS结构 HTML代码如下: <div class="wrapper"> <ul class="sliderPage"> <li> <img src="images/1.jpg"> </li> <li> <img src="images…
先准备几张轮播图 排序顺序改为根据优先级倒序排 前端首页接口 @bp.route('/')def index(): banners = BannerModel.query.order_by(BannerModel.priority.desc()).limit(4) # 只取4条 context = {'banners': banners} return render_template('front/front_index.html', **context) 在首页模板中动态渲染轮播图 {% fo…
一.博客系统进度回顾 上一遍博客介绍到,系统已经实现到了发布以及前台布局展示,接下来就是实现一些,详情页,留言.轮播图管理.右侧博文统计信息实现. 二.博客系统详情页实现 2.1先来看看详情页展示的效果 2.2实现控制器在前台控制器中创建一个Blog的控制器,主要是展示博客分类以及详情页 Action详情页实现: /// <summary> /// 详情页 /// </summary> /// <param name="id"></param&…
个人电脑里存了不少适合手机欣赏的图片,但是放手机里看是件很占据资源的事.鉴于家里有一台电脑经常开着,正好用来做家庭局域网共享,于是笔者就设想通过一种比较简单环保的思路.通过手机访问电脑内的图片. 首先是本地站点搭建:win+R输入mmc打开控制台,文件-添加/删除管理单元,Internet信息服务.添加确定,右侧基本信息,新建网站-把路径改了.设定一个端口号,手机浏览器就可以输入  电脑局域网ip:端口号 就可以访问电脑了. 接下来问题来了,一个个点击查看然后关闭图片是一件更不环保的事.何不做一…
原文:Android零基础入门第56节:翻转视图ViewFlipper打造引导页和轮播图 前面两期学习了 ViewAnimator及其子类ViewSwitcher的使用,以及ViewSwitcher的子类ImageSwitcher和TextSwitcher的使用,你都掌握了吗?本期我们一起来学习ViewAnimator另一个子类 ViewFlipper组件的使用. 一.ViewFlipper概述 ViewFlipper组件继承了 ViewAnimator,它可调用addView(View v)添…
jQuery的基本使用.JQ功能概括.JS对象与JQ对象转换.Ajax简单应用.轮播图 一.认识jQuery 1.什么是jQuery jQuery是对原生JavaScript二次封装的工具函数集合 jQuery是一个简洁高效的且功能丰富的JavaScript工具库 2.jQuery的优势 完全开源的源代码 强大简洁的选择器 事件.样式.动画的良好支持 链式表达式 简化的Ajax操作 跨浏览器兼容 丰富的插件及对外的扩展接口 二.jQuery的安装 1.版本 开发(development)版本:j…
今日内容概要 前台主页 后台主页轮播图接口 跨域问题详解 前后端打通 后端自定义配置 git介绍和安装 内容详细 1.前台主页 Homeviwe.vue <template> <div class="home"> <Header></Header> <Banner></Banner> <!-- 推荐课程--> <div class="course"> <el-row…
目录 前台主页搭建 components/Homeviwe.vue components/Banner.vue components/Header.vue components/Footer.vue 后台主页轮播图接口 创建home应用 表设计 utils/model.py/BaseModel 迁移数据,创建超级用户 引入simpleui,录入数据 轮播图接口格式 轮播图接口实现 处理跨域请求 同源策略 CORS(跨域资源共享)简介 CORS分类 如何区分这两种? 简单请求和非简单请求的区别 解…