在base页加一个登录标识符 给加页面两个id,方便取值 js $(function () { //初始化ueditor var ue = UE.getEditor('editor', { 'serverUrl': '/ueditor/upload/', // 定制uedtior工具栏按钮 "toolbars": [ [ 'undo', //撤销 'redo', //重做 'bold', //加粗 'italic', //斜体 'source', //源代码 'blockquote',…
模型 class CommentModel(db.Model): """ 评论 """ __tablename__ = 'comment' id = db.Column(db.Integer, primary_key=True, autoincrement=True) content = db.Column(db.Text, nullable=False) create_time = db.Column(db.DateTime, default=…
官方文档:https://pythonhosted.org/Flask-paginate/ 安装:pip install flask-paginate 在没有分页的情况下,默认会加载所有内容 在config中配置每页显示的条数 使用 from flask_paginate import Pagination, get_page_parameter bp = Blueprint("front", __name__) @bp.route('/')def index(): banners =…
第三百四十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制 用命令创建自动爬虫文件 创建爬虫文件是根据scrapy的母版来创建爬虫文件的 scrapy genspider -l  查看scrapy创建爬虫文件可用的母版 Available templates:母版说明 basic     创建基础爬虫文件 crawl    创建自动爬虫文件 csvfeed      创建爬取csv数据爬虫文件 xmlfeed…
增加所有剩余菜单的页面,并用视图渲染,方便后面调试权限控制 {% extends 'cms/cms_base.html' %} {% block title %}板块管理{% endblock %} {% block head %} {% endblock %} {% block page_title %} {{ self.title() }}{% endblock %} {% block main_content %} 板块管理页面{% endblock %} {% extends 'cms/…
三言诗,把自己的心情,想要说的话用三句话诗意的表达出来.像: 烦===>好想睡一觉,待日落,盼天明. 愁====>待到花开花落,闲庭信步,蹋碎一世忧愁. 三句话,可以表达的很好. 老是感觉错过了什么,是错觉.失去的不会再回来,况且也没有真正得到. struts和spring mvc ,让我讲讲,看来是真的好好自学下了,还不错,终于有点动力了. 今天多少有点失落,虽然内心感觉不大合适,但还是有点难过. 还有今天看了个电影<疯狂动物城>,很震撼的,第一次看IMAX,可惜是在第二排,屏幕…
昨天忘了.不知咋忘的,加班加迷糊了? 昨天联调接口,又加班了,好歹基本调通了. 今天,下午,开会,有点被领导批的意思,不是批我,是批我们团队. 团队. 不懂自己. 这样做有意义嘛. 睡觉.好烦. 到底应该记点啥.乱七八糟的,明天还得改接口. 睡觉了,打电话都不接.…
class Solution { public: void reverseString(vector<char>& s) { int len=s.size(); char temp; ;i<len/;i++)//前面一半和后面一半交换即可 { temp=s[i]; s[i]=s[len--i]; s[len--i]=temp; } } }; 分析: 如上述,这个题没想太多.…
Bootstrap下拉菜单和滚动监听插件 学习要点: 1.下拉菜单 2.滚动监听 本节课我们主要学习一下 Bootstrap 中的下拉菜单插件,这个插件在以组件的形式我们 已经学习过,那么现在来看看怎么和 JavaScript 交互的. 一.下拉菜单 声明式用法 <div class="dropdown"> <button class="btn btn-primary" data-toggle="dropdown"> 下拉…
JavaScript,列队动画 将上一节的,移动透明动画,修改成可以支持列队,也就是可以给这个动画方法多个动画任务,让它完成一个动画任务后,在执行第二个动画任务 原理: 就是在原有的动画方法里加一个回调函数,当动画执行完毕后执行回调函数,再在回调函数里写入动画任务去执行,实现列队动画 /** yi_dong_tou_ming()方法,说明 * * yi_dong_tou_ming()方法,将一个元素,进行一下动画操作 * 1,x将元素横向左移动或者右移动 * 2, y将元素竖向上移动或者下移动…
前面介绍了如何通过fxml文件编排界面布局,可是光有静态界面根本没法处理业务,必须另外书写业务逻辑的代码,方能响应各按钮的单击事件,并将业务结果即使呈现到界面上.显然,fxml内部写不了Java代码,同时入口程序已经把控件都托管给了fxml文件,也无法在Application代码中干预控件的操作.既然整个界面都托付给了fxml,那么解铃还须系铃人,只能且必须由fxml指定后续的逻辑控制器.具体做法是在fxml的根节点中添加属性“fx:controller”,通过该属性设置当前界面的控制器路径.比…
celery工作原理 celery官方文档:https://docs.celeryproject.org/en/latest/ 安装:pip install celery windows下还需安装eventlet来做任务调度:pip install eventlet 启动redis,已将redis密码设为为123456 简单示例 import timefrom celery import Celery celery = Celery('tasks', broker='redis://:12345…
视图,根据传过来的板块id查数据 @bp.route('/')def index(): board_id = request.args.get('board_id', type=int, default=None) banners = BannerModel.query.order_by(BannerModel.priority.desc()).limit(4) # 只取4条 boards = BoardModel.query.all() page = request.args.get(get_…
1.安装: pip install qiniu 2.编写获取uptoken的接口 @app.route('/uptoken/')def uptoken(): access_key = '' secret_key = '' q = qiniu.Auth(access_key, secret_key) bucket = 'test-cmss' # 存储空间名字 token = q.upload_token(bucket) return jsonify({'uptoken': token}) # 七牛…
给提交按钮加一个id,方便写js js //发送ajax请求注册请求$(function () { $('#submit-btn').click(function (event) { event.preventDefault(); var telephone_input = $('input[name="telephone"]'); var sms_captcha_input = $('input[name="sms_captcha"]'); var usernam…
在上一篇的基础上,插入数据 查询 Department.query.all() # 用表对象查db.session.query(Department).all() # 用db对象查 查询前两条,直接python截取前两条数据 排序 默认升序:order_by(排序的字段名) 倒序:从sqlalchemy导入desc 查询单个指定字段 查询多个指定字段 只用一个变量接收多个查询结果的时候,SQLAlchemy默认用namedtuple进行命名处理 namedtuple结构: 别名:label(别名…
在上一篇聊聊高并发(三十三)从一致性(Consistency)的角度理解Java内存模型 我们说了Java内存模型是一个语言级别的内存模型抽象.它屏蔽了底层硬件实现内存一致性需求的差异,提供了对上层的统一的接口来提供保证内存一致性的编程能力. 在一致性这个问题域中,各个层面扮演的角色大致例如以下: 1. 一致性模型,定义了各种一致性模型的理论基础 2. 硬件层,提供了实现某些一致性模型的硬件能力.硬件在默认情况下依照最主要的方式执行,比方 对同一个线程没有数据依赖的指令能够重排序优化运行,有数据…
实现方式 使用装饰器的形式,将权限判断加在视图上 声明接口需要什么权限,用户访问接口的时候,判断用户是否有此权限 权限判断,接收权限 def permission_required(permission): def outter(func): @wraps(func) def inner(*args, **kwargs): user = g.cms_user if user.has_permission(permission): return func(*args, **kwargs) else…
现在做的项目代码是原来其他公司做的,要在原来基础上业务进行适当调整加上一些CR,其中有一个需要调整的需求如下: 原来使用apex:selectCheckboxes封装了一个checkbox列表,因为数据太多导致显示起来比较丑,用户希望改进一下UI. apex:selectCheckboxes作用原理为解析成html以后变成table标签, 大概层级结构可以分成<table><tbody><tr><td><input type="checkbo…
案例二:冒泡排序 lt1=[45,12,56,-32,-3,44,75,-22,100] print('排序前:'+str(lt1)) 自定义函数:实现冒泡排序(升序)原则:1).有没有形参?有,接受一个列表对象 2).有没有返回值?没有,排完就排完 def bubbleSort(lt): length=len(lt) for i in range(length-1): for j in range(length-1-i): if lt[j]>lt[j+1]: lt[j],lt[j+1]=lt[…
一.基本概念 实现一个Item的多布局.像我们经常在用的各种即时通讯工具,QQ.微信等,假设他们的会话界面是ListView实现的,那么ListView就有多种Item布局,要实现ListView里面有多种Item,就要重写适配器的两个方法getViewTypeCount()和getItemViewType(int position),第一个方法是返回Item的种类数目,第二个是返回当前Item是哪种类型.重写getItemViewType()方法对应View是哪个类别,以及getViewTyp…
在用户模型下定义属性和方法,用于判断用户的权限 @propertydef permissions(self): """ 返回用户拥有的所有权限 """ if not self.roles: # 判断用户是否绑定角色 return 0 all_permissions = 0 for role in self.roles: all_permissions |= role.permissions # 把权限加起来 return all_permissi…
评论后端逻辑实现 设计评论模型表, 编辑apps.models.py class CommentModel(db.Model): __tablename__ = 'comment' id = db.Column(db.Integer,primary_key=True,autoincrement=True) content = db.Column(db.Text,nullable=False) create_time = db.Column(db.DateTime,default=datetime…
.net开源cms系统推荐 内容目录: 提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,.net和java的高端的cms系统也逐渐的走上了开源的路线,尤其是 .net的cms系统,从最早国外的开源,到现在国内致力于.net的cms系统的研发的公司和团队也渐渐认清楚开源路线的必然性,于是乎竞相的提出开源战略路线,但有的还是并不是全部的源码开放,其核心源码还是有所保留.现在站长们选择cms的…
第十四章.CMS网站开发** Odoo有一个功能齐全的内容管理系统(CMS).通过拖放功能,你的最终用户可以在几分钟内设计一个页面,但是在Odoo CMS中开发一个新功能或构建块就不是那么简单了.在本章中,您将探索Odoo的前台开发.您将学习如何创建网页.您还将学习如何创建用户可以在页面上拖放的构建块.进阶内容,如Urchin跟踪模块(UTMs),搜索引擎优化(SEO),多网站,GeoIP,和网站地图也涵盖在这一章.简而言之,您将了解开发交互式网站所需的所有内容. 重要信息 所有的Odoo CM…
Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理 1. 回顾 我们知道Android输入系统是Reader线程通过驱动程序得到上报的输入事件,还要经过处理,才可以将输入事件发送给应用程序,现在回顾一下是具体做哪些处理. 首先Reader线程会将输入事件放入mInboundQueue队列当中,但是放入队列之前需要进行稍加处理. 1.1 处理类型 - 紧急事件,马上处理(来电振铃时,按下音量键,会马上静音) - 对输入事件添加Flag,决定输入事件是否传…
一.Beetl简介 1. 什么是Beetl Beetl目前版本是2.9.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎.总得来说,它的特性如下: 功能完备:作为主流模板引擎,Beetl具有相当多的功能和其他模板引擎不具备的功能.适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合.Beetl本身还具有很多独特功能来完成模板编写和维护,这是其他模板引擎所不具有的. 非常…
centos Linux系统日常管理1  cpuinfo cpu核数   命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof ,pidof 第十四节课 上半节课 wuptime 下半节课 topkill命令vmstatpsfreenetstatulimitsarlsofpidof 监控系统状态命令:w, vmstat, uptime ,top w # w 12:27:16 up 16 min (运行天数), 2…
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/smh188/p/11534451.html(我是如何一步步编码完成万仓网ERP系统的(二)前端框架) https://www.cnblogs.com/smh188/p/11535449.html(我是如何一步步编码完成万仓网ERP系统的(三)登录) https://www.cnblogs.com/…