一百三十八:CMS系统之发布帖子前端js

先补一个功能,根据扥状态显示用户名/退出或者登录/注册

from .views import bpimport configfrom flask import session, gfrom .models import FrontUser

@bp.before_requestdef before_request():    """ 验证登录 """    if config.FRONT_USER_ID in session:        user_id = session.get(config.FRONT_USER_ID)        user = FrontUser.query.get(user_id)        if user:            g.front_user = user

{% if g.front_user %}  <div class="dropdown">    <a  href="#" class="dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">      {{ g.front_user.username }}      <span class="caret"></span>    </a>    <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">      <li><a href="#">个人中心</a></li>      <li><a href="#">设置</a></li>      <li><a href="#">注销</a></li>    </ul>  </div>{% else %}  <li><a href="{{ url_for(‘front.signin‘) }}">登录</a></li>  <li><a href="{{ url_for(‘front.signup‘) }}">注册</a></li>{% endif %}

发布帖子js

给点击发布按钮寄一个id,方便js绑定事件

js

$(function () {    //初始化ueditor    var ue = UE.getEditor(‘editor‘, {        ‘serverUrl‘: ‘/ueditor/upload/‘    });

    $(‘#submit-btn‘).click(function (event) {        event.preventDefault();        var titleInput = $(‘input[name="title"]‘);        var boardSelect = $(‘select[name="board_id"]‘);

        var title = titleInput.val();        var board_id = boardSelect.val();        var content = ue.getContent();  //详见ueditor使用说明,获取内容:http://fex.baidu.com/ueditor/#api-common

        ajax.post({            ‘url‘: ‘/apost/‘,            ‘data‘: {                ‘title‘: title,                ‘content‘: content,                ‘board_id‘: board_id            },            ‘success‘: function (data) {                if(data[‘code‘] == 200){                    xtalert.alertConfirm({                        ‘msg‘: ‘发帖成功‘,                        ‘cancelText‘: ‘回到首页‘,                        ‘confirmText‘: ‘再发一篇‘,                        ‘cancelCallback‘: function () {                            // 点回到首页就跳转到首页                            window.location = ‘/‘;                        },                        ‘confirmCallback‘: function () {                            // 点再发一篇就清空内容                            titleInput.val(‘‘);                            ue.setContent(‘‘);                        }                    });                }else{                    xtalert.alertInfo(data[‘message‘]);                }            }        });    });});

原文地址:https://www.cnblogs.com/zhongyehai/p/11973647.html

时间: 2024-11-05 20:30:25

一百三十八:CMS系统之发布帖子前端js的相关文章

测开之路一百三十八:会话管理之session

session管理和使用,需要用到flask的session模块和设置安全码:app.secret_key 比如列表页和编辑功能只能给admin用 列表页 编辑页 添加session 登录成功时,把username添加到session里面 app.secret_key = 'qoihf2397r21380r2/./ad' # 加密的安全码,越复杂越好,flask后台自动进行加密 @app.route('/login/', methods=['GET', 'POST'])def login():

一百三十一:CMS系统之轮播图上传图片功能

将七牛js放到common下 把获取uptoken的接口放到common视图中 把初始化七牛放到banners.js中 //初始化七牛$(function () { qiniujs.setUp({ 'domain': 'http://q1tp5a19s.bkt.clouddn.com/', 'browse_btn': 'upload-btn', //上传图片按钮的id 'uptoken_url': '/common/uptoken/', 'success': function (up, file

Python3快速入门(十八)——PyInstaller打包发布

Python3快速入门(十八)--PyInstaller打包发布 一.PyInstaller简介 1.PyInstaller简介 PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序.PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyIn

QT开发(三十八)——Model/View框架编程

QT开发(三十八)--Model/View框架编程 一.自定义模型 1.自定义只读模型 QAbstractItemModel为自定义模型提供了一个足够灵活的接口,能够支持数据源的层次结构,能够对数据进行增删改操作,还能够支持拖放.QT提供了 QAbstarctListModel和QAbstractTableModel两个类来简化非层次数据模型的开发,适合于结合列表和表格使用. 自定义模型需要考虑模型管理的的数据结构适合的视图的显示方式.如果模型的数据仅仅用于列表或表格的显示,那么可以使用QAbs

程序员的奋斗史(三十八)——大学断代史(二)——我与数据库的故事

文/.温国兵 惰性人皆有之,也算是人的一大天性.几日之前便构思好此文,怎奈每日杂事繁多,今日才提起笔,作下此文.本文谈谈我与数据库的故事. 说起和数据库结缘,还得从大一说起.大一刚开始接触C语言,每日就沉浸在无止境的代码中.在网上查资料的过程中,看到别人用C语言写了一个小型的图书操作程序,数据库采用的是SQL Server,运行出来的效果图很炫,惊叹原来还可以这样管理数据.熟知C语言的同学肯定对文件操作不陌生,当时我们写程序如果有静态数据,都是放在文件里的.直到后来做的C语言课程设计,我也是一大

NeHe OpenGL教程 第三十八课:资源文件

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十八课:资源文件 从资源文件中载入图像: 如何把图像数据保存到*.exe程序中,使用Windows的资源文件吧,它既简单又实用. 欢迎来到NeHe教程第38课.离上节课的写作已经有些时日了,加上写了一整天的code,也许笔头已经

三十八、git merge简介

git merge的基本用法为把一个分支或或某个commit的修改合并现在的分支上. 我们可以运行git merge -h查看其命令usage: git merge [options] [<commit>...]    or: git merge [options] <msg> HEAD <commit>    or: git merge --abort -n                    do not show a diffstat at the end of

&nbsp; CCNA实验三十八 ZFW(区域防火墙)

CCNA实验三十八 ZFW(区域防火墙) 环境:Windows XP .Packet Tracert5.3 目的:了解ZFW的原理与基本配置 说明: ZFW(Zone-Based Policy Firewall),是一种基于区域的防火墙,基于区域的防火墙配置的防火墙策略都是在数据从一个区域发到另外一个区域时才生效,在同一个区域内的数据是不会应用任何策略的,所以我们就可以将需要使用策略的接口划入不同的区域,这样就可以应用我们想要的策略.但是,有时某些接口之间可能不需要彼此使用策略,那么这样的接口只

微信小程序把玩(三十八)获取设备信息 API

原文:微信小程序把玩(三十八)获取设备信息 API 获取设备信息这里分为四种, 主要属性: 网络信息wx.getNetWorkType, 系统信息wx.getSystemInfo, 重力感应数据wx.onAccelerometerChange, 罗盘数据wx.onCompassChange wxml <button type="primary" bindtap="getNetWorkType">获取网络类型</button> <butt