BBS论坛(二十)
发布日期:2021-08-21 02:35:09 浏览次数:8 分类:技术文章

本文共 3349 字,大约阅读时间需要 11 分钟。

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

(1)apps/models.py

from exts import dbfrom datetime import datetimeclass 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

from apps.models import BannerModel

(3)生成到数据库

python manage.py db migratepython manage.py db upgrade

(4)cms/forms.py

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

@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

$(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

{% from 'common/_macros.html' import static %}

(3)cms/views.py

@bp.route('/banners/')@login_requireddef banners():    banners = BannerModel.query.all()    return render_template('cms/cms_banners.html',banners=banners)

(4)cms_banners.html

        {% for banner in banners %}                            {
{ banner.name }} {
{ banner.img_url }}
{
{ banner.link_url }}
{
{ banner.priority }} {
{ banner.create_time }} {% endfor %}

 

转载地址:https://blog.csdn.net/weixin_33708432/article/details/86261625 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:5.计算机发展个人理解-电路终究是电路 软件如何控制硬件 代码如何操作硬件 硬件是怎么执行代码 代码如何执行 软件与硬件如何交互 计算机思维 抽象 封装 规范 屏蔽 协议分层...
下一篇:tlflearn 编码解码器 ——数据降维用

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月01日 18时36分57秒