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

BBS论坛(二十)

BBS论坛(二十)路遥
2025年01月14日📖 4 分钟
LIKE.TG 社交媒体链接LIKE.TG 社交媒体链接LIKE.TG 社交媒体链接LIKE.TG 社交媒体链接
Fansoso粉丝充值系统

LIKE.TG | 发现全球营销软件&服务汇聚顶尖互联网营销和AI营销产品,提供一站式出海营销解决方案。唯一官网: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汇集全球营销软件&服务,助力出海企业营销增长。提供最新的“私域营销获客”“跨境电商”“全球客服”“金融支持”“web3”等一手资讯新闻。

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


Banner广告
Banner广告
Banner广告
Banner广告
全球峰会
Server deployment