BBS论坛(二十六)
2024-09-01 18:51:32
26.发布帖子前台代码逻辑完成
(1)front/hooks.py
from .views import bp
from flask import session,g
from .models import FrontUser
import config @bp.before_request
def 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
(2)front/init.py
from . import hooks
(3)front/front_base.html
<ul class="nav navbar-nav navbar-right">
{% if g.front_user %}
<li class="dropdown">
<a 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>
</li>
{% else %}
<li><a href="{{ url_for('front.signin') }}">登录</a></li>
<li><a href="{{ url_for('front.signup') }}">注册</a></li>
{% endif %}
</ul>
(4)front/apost.js
$(function () {
var ue = UE.getEditor('ueditor', {'serverUrl': '/ueditor/upload/'});
$('#submit-btn').on('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();
zlajax.post({
'url': '/apost/',
'data': {
'title': title,
'board_id': board_id,
'content': content
},
'success': function (data) {
if (data['code'] == 200) {
zlalert.alertConfirm({
'msg': '帖子发表成功',
'cancelText': '返回首页',
'confirmText': '再写一篇',
'cancelCallback': function () {
window.location = '/';
},
'confirmCallback': function () {
titleInput.val('');
ue.setContent(''); }
});
} else {
zlalert.alertInfo(data['message']);
} }
})
});
});
(5)config.py
UEDITOR_UPLOAD_PATH=os.path.join(os.path.dirname(__file__),'images')
最新文章
- Android 5.X新特性之RecyclerView基本解析及无限复用
- Notes:SVG(1)
- .NET应用架构设计—面向查询服务的参数化查询设计(分解业务点,单独配置各自的数据查询契约)
- PHP路径常量和函数解释
- VBS操作剪切板
- Linux查看当前目录下文件夹和文件的大小
- [Android Pro] 超能RecyclerView组件使用
- MySQL存储过程权限分析
- IT国家重点实验室
- ajax请求参数为中文乱码的情况
- Rigidbody组件及相关API
- JavaScript 面向对象之原型对象
- 自学Aruba集锦
- ArrayList代码学习
- 微信小程序之wx.showmodal
- windows 下设置nginx负载均衡
- 一千行 MySQL 学习笔记
- 浅谈session测试
- wepy绘制雷达图
- js获取上、下级html元素 js删除html元素方法
热门文章
- 详解如何在 Linux 启动时自动执行命令或脚本
- 【WPF开发备忘】使用MVVM模式开发中列表控件内的按钮事件无法触发解决方法
- Shell编程-控制结构 | 基础篇
- 网络攻击技术:SQL Injection(sql注入)
- Scrapy框架之CrawlSpider
- Mysql表的约束设计和关联关系设计
- 引用Excel控件时,无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”请改用适用的接口
- JAVA DESIGN PATTERN
- 分享几个有意思的css js工具网站
- Golang websocket推送