官方社群在线客服官方频道防骗查询货币工具

BBS论坛(二十三)

2025年01月16日 05:54:45
news.like.tgnews.like.tgnews.like.tgnews.like.tg

LIKE.TG | 发现全球营销软件&服务汇聚顶尖互联网营销和AI营销产品,提供一站式出海营销解决方案。唯一官网:www.like.tg

23.添加板块

(1)apps/models

代码语言:javascript
复制
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

代码语言:javascript
复制
from apps.models import BoardModel

生成数据库表

代码语言:javascript
复制
python manage.py db migrate python manage.py db upgrade

(3)cms/forms.py

代码语言:javascript
复制
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

代码语言:javascript
复制
@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

代码语言:javascript
复制
$(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

代码语言:javascript
复制
{% 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 %}

LIKE.TG汇集全球营销软件&服务,助力出海企业营销增长。提供最新的“私域营销获客”“跨境电商”“全球客服”“金融支持”“web3”等一手资讯新闻。

点击【联系客服】 🎁 免费领 1G 住宅代理IP/proxy, 即刻体验 WhatsApp、LINE、Telegram、Twitter、ZALO、Instagram、signal等获客系统,社媒账号购买 & 粉丝引流自助服务或关注【LIKE.TG出海指南频道】【LIKE.TG生态链-全球资源互联社区】连接全球出海营销资源。

本文由LIKE.TG编辑部转载自互联网并编辑,如有侵权影响,请联系官方客服,将为您妥善处理。

This article is republished from public internet and edited by the LIKE.TG editorial department. If there is any infringement, please contact our official customer service for proper handling.


Server deployment全球论坛人工智能论坛全球峰会发展论坛战略论坛开放论坛程序员论坛互联网峰会科技峰会
加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg平台,即可获利、结识全球供应商、拥抱全球营销软件生态圈加入like.tg生态资源圈,即可获利、结识全球供应商、拥抱全球软件生态圈
加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg平台,即可获利、结识全球供应商、拥抱全球营销软件生态圈加入like.tg生态资源圈,即可获利、结识全球供应商、拥抱全球软件生态圈