zoukankan      html  css  js  c++  java
  • Flask实战第52天:cms添加轮播图前端代码逻辑完成

    首页我们在模态框中的保存按钮加一个id,这样方便我们选取这个按钮

    <button type="button" class="btn btn-primary" id="save-banner-btn">保存</button>

    在static/cms/js/下新建banners.js

    $(function () {
        $("#save-banner-btn").click(function (event) {
            event.preventDefault();
            var dialog = $("#banner-dialog");
            var nameInput = dialog.find("input[name='name']");
            var imageInput = dialog.find("input[name='image_url']");
            var linkInput = dialog.find("input[name='link_url']");
            var priorityInput = dialog.find("input[name='priority']");
    
            var name = nameInput.val();
            var image_url = imageInput.val();
            var link_url = linkInput.val();
            var priority = priorityInput.val();
    
            if(!name || !image_url || !link_url || !priority){
                zlalert.alertInfoToast('请输入完整的轮播图数据!');
                return;
            }
    
            bbsajax.post({
                "url": '/cms/abanner/',
                "data": {
                    'name':name,
                    'image_url': image_url,
                    'link_url': link_url,
                    'priority':priority,
                },
                'success': function (data) {
                    dialog.modal("hide");
                    if(data['code'] == 200){
                        // 重新加载这个页面
                        window.location.reload();
                    }else{
                        zlalert.alertInfo(data['message']);
                    }
                },
                'fail': function () {
                    zlalert.alertNetworkError();
                }
                
            });
        });
    });

    编辑cms.view.py中的banners视图, 获取数据库数据

    @bp.route('/banners/')
    @login_required
    def banners():
        banners = BannerModel.query.order_by(BannerModel.priority.desc()).all()
        return render_template('cms/cms_banners.html', banners=banners)

    编辑cms_banners.html, <tbody>中的内容动态展示

            <tbody>
                {% for banner in banners %}
                    <tr>
                        <td>{{ banner.name }}</td>
                        <td><a href="{{ banner.image_url }}" target="_blank">{{ banner.image_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>

    然后在cms_banners.html中引入banners.js

    {% block head %}
        <script src="{{ url_for('static', filename='cms/js/banners.js')}}"></script>
        ...
    {% endblock %}

    这样,我们添加轮播图的功能就完成了,现在可以加轮播图试试

  • 相关阅读:
    ActiveJDBC 学习笔记
    selenium相关技术研究(从1.0-3.0)
    如何记录selenium自动化测试过程中接口的调用信息
    TestNG进行接口测试,脚本及可维护性框架
    贪多必失,精通一样再往下一样
    测试开发之路:英雄迟暮,我心未老
    接口测试面试题
    自动化测试中的滚动
    maven配置环境变量失败解决办法
    注释——创建新的类(文件)时,自动添加作者创建时间(文件注释)等信息的设置方法
  • 原文地址:https://www.cnblogs.com/sellsa/p/9563040.html
Copyright © 2011-2022 走看看