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

BBS论坛(二十)

2025年01月14日 02:16:49
news.like.tgnews.like.tgnews.like.tgnews.like.tg

LIKE.TG 成立于2020年,总部位于马来西亚,是首家汇集全球互联网产品,提供一站式软件产品解决方案的综合性品牌。唯一官方网站:www.like.tg

20.1.cms添加轮播图后台逻辑代码完成

(1)apps/models.py

代码语言:javascript
复制
from exts import db from datetime import datetime class BannerModel(db.Model): __tablename__ = 'banner' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(255), nullable=False) img_url = db.Column(db.String(255), nullable=False) link_url = db.Column(db.String(255), nullable=False) priority = db.Column(db.Integer, default=0) create_time = db.Column(db.DateTime, default=datetime.now)

(2)manage.py

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

(3)生成到数据库

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

(4)cms/forms.py

代码语言:javascript
复制
class AddBannerForm(BaseForm): name=StringField(validators=[InputRequired(message='请输入轮播图名称')]) img_url=StringField(validators=[InputRequired(message='请输入轮播图链接')]) link_url=StringField(validators=[InputRequired(message='请输入轮播图跳转链接')]) priority=IntegerField(validators=[InputRequired(message='请输入轮播图优先级')])

(5)cms/views.py

代码语言:javascript
复制
@bp.route('/abanner/',methods=['POST']) def abanner(): form=AddBannerForm(request.form) if form.validate(): name=form.name.data img_url=form.img_url.data link_url=form.link_url.data priority=form.priority.data banner=BannerModel(name=name,img_url=img_url,link_url=link_url,priority=priority) db.session.add(banner) db.session.commit() return restful.success() else: return restful.params_error(message=form.get_error())

20.2.cms添加轮播图前台逻辑完成

(1)cms/js/banner.js

代码语言:javascript
复制
$(function () { $('#save_banner_btn').click(function (event) { event.preventDefault(); var dialog = $('#banner-dialog'); var nameInput = $("input[name='name']"); var imgInput = $("input[name='img_url']"); var linkInput = $("input[name='link_url']"); var priorityInput = $("input[name='priority']"); var name = nameInput.val(); var img_url = imgInput.val(); var link_url = linkInput.val(); var priority = priorityInput.val(); if (!name || !img_url || !link_url || !priority) { zlalert.alertInfo('请输入完整的轮播图数据'); return; } zlajax.post({ 'url': '/cms/abanner/', 'data': { 'name': name, 'img_url': img_url, 'link_url': link_url, 'priority': priority }, 'success': function (data) { if (data['code'] == 200) { dialog.modal('hide'); window.location.reload() } else { zlalert.alertInfo(data['message']); } }, 'fail': function (error) { zlalert.alertNetworkError() } }); }); });

(2)cms/cms_banners.html

代码语言:javascript
复制
{% from 'common/_macros.html' import static %} <script src="{{ static('cms/js/banners.js') }}"></script>

(3)cms/views.py

代码语言:javascript
复制
@bp.route('/banners/') @login_required def banners(): banners = BannerModel.query.all() return render_template('cms/cms_banners.html',banners=banners)

(4)cms_banners.html

代码语言:javascript
复制
<tbody> {% for banner in banners %} <tr> <td>{{ banner.name }}</td> <td><a href="{{ banner.img_url }}" target="_blank">{{ banner.img_url }}</a></td> <td><a href="{{ banner.link_url }}" target="_blank">{{ banner.link_url }}</a></td> <td>{{ banner.priority }}</td> <td>{{ banner.create_time }}</td> <td> <button class="btn btn-default btn-xs edit-banner-btn">编辑</button> <button class="btn btn-danger btn-xs delete-banner-btn">删除</button> </td> </tr> {% endfor %} </tbody>

现在关注【LIKE.TG出海指南频道】【LIKE.TG大客户服务频道】,即可免费领取【WhatsApp、LINE、Telegram、Twitter、ZALO云控】等获客工具试用、【住宅IP、号段筛选】等免费资源,机会难得,快来解锁更多资源,助力您的业务飞速成长!点击【联系客服】

本文由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生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈