26.发布帖子前台代码逻辑完成

(1)front/hooks.py

  1. from .views import bp
  2. from flask import session,g
  3. from .models import FrontUser
  4. import config
  5.  
  6. @bp.before_request
  7. def before_request():
  8. if config.FRONT_USER_ID in session:
  9. user_id=session.get(config.FRONT_USER_ID)
  10. user=FrontUser.query.get(user_id)
  11. if user:
  12. g.front_user=user

(2)front/init.py

  1. from . import hooks

(3)front/front_base.html

  1. <ul class="nav navbar-nav navbar-right">
  2. {% if g.front_user %}
  3. <li class="dropdown">
  4. <a class="dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown"
  5. aria-haspopup="true" aria-expanded="true">
  6. {{ g.front_user.username }}
  7. <span class="caret"></span>
  8. </a>
  9. <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
  10. <li><a href="#">个人中心</a></li>
  11. <li><a href="#">设置</a></li>
  12. <li><a href="#">退出登录</a></li>
  13. </ul>
  14. </li>
  15. {% else %}
  16. <li><a href="{{ url_for('front.signin') }}">登录</a></li>
  17. <li><a href="{{ url_for('front.signup') }}">注册</a></li>
  18. {% endif %}
  19. </ul>

(4)front/apost.js

  1. $(function () {
  2. var ue = UE.getEditor('ueditor', {'serverUrl': '/ueditor/upload/'});
  3. $('#submit-btn').on('click', function (event) {
  4. event.preventDefault();
  5. var titleInput = $('input[name=title]');
  6. var boardSelect = $('select[name=board_id]');
  7.  
  8. var title = titleInput.val();
  9. var board_id = boardSelect.val();
  10. var content = ue.getContent();
  11. zlajax.post({
  12. 'url': '/apost/',
  13. 'data': {
  14. 'title': title,
  15. 'board_id': board_id,
  16. 'content': content
  17. },
  18. 'success': function (data) {
  19. if (data['code'] == 200) {
  20. zlalert.alertConfirm({
  21. 'msg': '帖子发表成功',
  22. 'cancelText': '返回首页',
  23. 'confirmText': '再写一篇',
  24. 'cancelCallback': function () {
  25. window.location = '/';
  26. },
  27. 'confirmCallback': function () {
  28. titleInput.val('');
  29. ue.setContent('');
  30.  
  31. }
  32. });
  33. } else {
  34. zlalert.alertInfo(data['message']);
  35. }
  36.  
  37. }
  38. })
  39. });
  40. });

(5)config.py

  1. UEDITOR_UPLOAD_PATH=os.path.join(os.path.dirname(__file__),'images')

BBS论坛(二十六)的更多相关文章

  1. BBS论坛(十六)

    16.登录功能完成 (1)front/forms.py class SigninForm(BaseForm): telephone = StringField(validators=[Regexp(r ...

  2. 二十六个月Android学习工作总结【转】

    原文:二十六个月Android学习工作总结 1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍.     2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该 ...

  3. Bootstrap <基础二十六>进度条

    Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...

  4. Web 前端开发人员和设计师必读精华文章【系列二十六】

    <Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  5. 二十六:Struts2 和 spring整合

    二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot-- ...

  6. 二十六、Jcreator使用初步

    摘自http://blog.csdn.net/liujun13579/article/details/7751464 二十六.Jcreator使用初步 Jcreator是一个小巧灵活的Java开发工具 ...

  7. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇] 通过<实现篇>对WSDL元素和终结点三要素的之间的匹配关系的介绍,我们知道了WSDL的Binding ...

  8. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框 ...

  9. VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management

    VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management 实验失败告终,启动VMware View Persona Management服务报10 ...

  10. 第一百二十六节,JavaScript,XPath操作xml节点

    第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...

随机推荐

  1. Unittest框架+ddt数据驱动+HTMLTestRunner+sendmail(自动发送测试报告)+git+Jenkins

    本次写的是针对有代码基础的,没基础建议先去学基础,以下所有描述内容都是我已经在公司项目实践成功的!仅供参考 整体思路: 1.接口自动化用的是Python中unittest框架 2.所有的测试数据用例存 ...

  2. 首次安装Ubuntu

    初试Ubuntu 双系统的安装 situation: dell(2017购) 固态250G+机械硬盘500G 已经安装windows 10 BIOS 为 UEFI rufus(向U盘写入镜像) Ubu ...

  3. ArcGIS Server学习之问题:ArcGIS Server10.5发布地图显示空白

    一.安装ArcGIS10.5 参考ArcGIS 10.5 for Desktop 完整安装教程(含win7/8/10 32/64位+下载地址+亲测可用) | 麻辣GIS 二.安装ArcGIS Serv ...

  4. ios6和ios5横竖屏切换

    记录于2013/8/5   在切换横竖屏的时候调用到的一些委托方法: #pragma mark - UIApplicationDelegate //写在Appdelegate中,在具体的某一视图控制器 ...

  5. 一年前的很水的渣网页(第一次html试水)

    <!doctype html> <html lang="zh-cn"> <base target="_blank" /> & ...

  6. 如何让Qt程序在运行时获取UAC权限

    在pro文件中加入以下语句: QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\' ...

  7. [POJ1964]City Game (悬线法)

    题意 其实就是BZOJ3039 不过没权限号(粗鄙之语) 同时也是洛谷4147 就是求最大子矩阵然后*3 思路 悬线法 有个博客讲的不错https://blog.csdn.net/u012288458 ...

  8. c# asp.net mvc4 使用uploadify插件实现上传功能

    [1]首先去官网下载插件:http://www.uploadify.com/download/ .ww我使用的是免费的,基于flash的版本.因为基于H5的版本需付费使用,然后使用该插件也就是做做毕设 ...

  9. jQuery实现节点克隆

    为了便于在DOM节点进行添加或者删除节点元素,使用克隆的方法比较方便,下面是js部分的主要代码 var container = $('.recordCon'); var cloneDom = cont ...

  10. 在虚拟机中安装Centos系统

    1.首先下载VMware 2.然后可以去http://mirrors.aliyun.com下载映像ISO 3.打开VM,点击创建新的虚拟机 4.选择典型模式 5.稍后安装操作系统 6.选择你所要安装的 ...