23-----BBS论坛
BBS论坛(二十三)
23.添加板块
(1)apps/models
class BoardModel(db.Model):
__tablename__ = 'board'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(20), nullable=False)
create_time = db.Column(db.DateTime, default=datetime.now)
(2)manage.py
from apps.models import BoardModel
生成数据库表
python manage.py db migrate python manage.py db upgrade
(3)cms/forms.py
class AddBoardsForm(BaseForm):
name=StringField(validators=[InputRequired(message='请输入版块名称'),Length(2,15,message='长度应在2-15个字符之间')]) class UpdateBoardForm(AddBoardsForm):
board_id=IntegerField(validators=[InputRequired(message='请输入版块名称')])
(4)cms/views.py
@bp.route('/boards/')
@login_required
@permission_required(CMSPermission.BOARDER)
def boards():
board_models=BoardModel.query.all()
context={
'boards':board_models
}
return render_template('cms/cms_boards.html',**context) @bp.route('/aboards/',methods=['POST'])
@login_required
@permission_required(CMSPermission.BOARDER)
def aboards():
form=AddBoardsForm(request.form)
if form.validate():
name=form.name.data
board=BoardModel(name=name)
db.session.add(board)
db.session.commit()
return restful.success()
else:
return restful.params_error(message=form.get_error()) @bp.route('/uboards/',methods=['POST'])
@login_required
@permission_required(CMSPermission.BOARDER)
def uboards():
form=UpdateBoardForm(request.form)
if form.validate():
board_id=form.board_id.data
name=form.name.data
board=BoardModel.query.get(board_id)
if board:
board.name=name
db.session.commit()
return restful.success()
else:
return restful.params_error(message='没有这个版块')
else:
return restful.params_error(message=form.get_error()) @bp.route('/dboards/',methods=['POST'])
@login_required
@permission_required(CMSPermission.BOARDER)
def dboards():
board_id=request.form.get('board_id')
if not board_id:
return restful.params_error(message='请传入版块ID')
board=BoardModel.query.get(board_id)
if board:
db.session.delete(board)
db.session.commit()
return restful.success()
else:
return restful.params_error(message='没有这个版块')
(5)cms/js/boards.js
$(function () {
$('#add_board_btn').on('click', function () {
event.preventDefault();
zlalert.alertOneInput({
'title':'添加板块',
'text': '请输入板块名称',
'placeholder': '版块名称',
'confirmCallback': function (inputValue) {
zlajax.post({
'url': '/cms/aboards/',
'data': {
'name': inputValue
},
'success': function (data) {
if (data['code'] == 200) {
window.location.reload();
} else {
zlalert.alertInfo(data['message']);
}
}
}); }
})
}); });
(6)cms/cms_boards.html
{% extends 'cms/cms_base.html' %}
{% from'common/_macros.html' import static %}
{% block title %}
板块管理
{% endblock %} {% block head %}
<script src="{{ static('cms/js/boards.js') }}"></script>
{% endblock %} {% block page_title %}
{{ self.title() }}
{% endblock %} {% block main_content %}
<div class="top-box">
<button class="btn btn-warning" id="add_board_btn" style="float: right">添加新版块</button>
</div> <table class="table table-bordered">
<thead>
<tr>
<th>版块名称</th>
<th>帖子数量</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead> <tbody>
{% for board in boards %}
<tr data-name="{{ board.name }}" data-id="{{ board.id }}">
<td>{{ board.name }}</td>
<td>0</td>
<td>{{ board.create_time }}</td>
<td>
<button class="btn btn-default edit-board-btn">编辑</button>
<button class="btn btn-danger delete-board-btn">删除</button>
</td>
</tr> {% endfor %}
</tbody>
</table> {% endblock %}
- 23.添加板块
23-----BBS论坛的更多相关文章
- Python之路,Day17 - 分分钟做个BBS论坛
Python之路,Day17 - 分分钟做个BBS论坛 本节内容: 项目:开发一个简单的BBS论坛 需求: 整体参考"抽屉新热榜" + "虎嗅网" 实现不同 ...
- Python之路【第十八篇】Django小项目简单BBS论坛部分内容知识点
开发一个简单的BBS论坛 项目需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可被 ...
- python 学习笔记二十 django项目bbs论坛
项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...
- python第一百三十天 ---简单的BBS论坛
简单的BBS论坛 实现功能 git仓库地址:https://github.com/uge3/BBS 1.整体参考“抽屉新热榜” + “博客园” 2.实现不同论坛版块 3.帖子列表展示 4.个人博客主页 ...
- Django小项目简单BBS论坛
开发一个简单的BBS论坛 项目需求: 1 整体参考"抽屉新热榜" + "虎嗅网" 2 实现不同论坛版块 3 帖子列表展示 4 帖子评论数.点赞数展示 5 在线用 ...
- Python开发一个简单的BBS论坛
项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...
- bbs论坛浏览器兼容性问题
一直都是在chrome上进行调试,今天终于把bbs论坛这个项目搭建完了,进入IE.Firefox看了看 吓哭了!!! 火狐 Edge chrome 特别是加了<!DOCTYPE html> ...
- 开源BBS论坛软件推荐
七款开源BBS论坛软件推荐(1) 本文介绍了七个开源的BBS论坛软件(在英文界一般叫做Forum).可能国内的朋友们比较熟悉Discuz!和PHPwind,但其实我们的选择还是很多的,而且下面介绍的这 ...
- LNMP环境搭建BBS论坛及伪静态
我们在mysql备份 LNMP环境中的数据库迁移为独立的服务器的基础上搭建BBS论坛: [root@bqh-117 ~]# mysql -uroot -p123456 Welcome to the ...
- Django项目 BBS论坛
BBS论坛 一.项目表分析 二.自定义form组件 三.注册功能 四.BBS论坛 登录功能
随机推荐
- 7-n!末尾有几个0
如何确定一个N!末尾有多少个零 转载 2015年08月30日 15:02:49 622 题目:1*2*3*……*100 求结果末尾有多少个零 分析:一般类似的题目都会蕴含某种规律或简便方法的,阶乘末尾 ...
- activeMQ功能Demo
1. 请阐述ActiveMQ的作用 2. 请描述ActiveMQ的工作原理 1. 解决服务之间耦合 2. 使用消息队列,增加系统并发处理量 3. 使用Java程序编写生产者发送10条“你好,activ ...
- Luogu 3911 最小公倍数之和
感觉自己被早上的名校协作体和下午的数学题虐哭了,每天为自己的菜发愁…… 发现$a_{i}$很小,开一个桶记一下每个数 出现的个数,设$c_{i} = \sum_{j = 1}^{n}(a_{j} == ...
- js的学习
对于 ff的 relatedTarget 及IE的toElement fromElement DOM通过event对象的relatedTarget属性提供了相关元素的信息.这个属性只对于mou ...
- scala的map的操作
1:map和模式匹配的结合 settings.foreach{case (k,v) => set(k,v)} 2:map转成array settings.entrySet().asScala.m ...
- WebGoat系列实验Access Control Flaws
WebGoat系列实验Access Control Flaws Using an Access Control Matrix 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合.一个用户可 ...
- 在GridView控件FooterTemplate内添加记录 Ver3
重构此篇<在GridView控件FooterTemplate内添加记录 Ver2> http://www.cnblogs.com/insus/p/3270644.html 这有些缺陷,怎样 ...
- vtk-py求3d模型表面积
模型格式:.obj 环境:python3.6+vtk7.1 vtk版: import vtk filename = "XXXX.obj" reader = vtk.vtkOBJRe ...
- 多层mvc,thikphp进阶
程序员,是一种生活态度. 我尽忠恪守,我努力进取,热衷于解决问题,希望得到同样的回报. 我遇到问题,将所有的力量用在解决问题,而不是抱怨,推卸责任上. ------------------------ ...
- 对MySQL性能影响较大的五类配置参数
以下主要是对MySQL 性能影响关系紧密的五大配置参数的介绍. 一. 连接 连接通常来自Web 服务器,下面列出了一些与连接有关的参数,以及该如何设置它们. (一). ...