博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BBS论坛(二十)
阅读量:5022 次
发布时间:2019-06-12

本文共 3415 字,大约阅读时间需要 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://www.cnblogs.com/derek1184405959/p/9160866.html

你可能感兴趣的文章
Linux记录-salt分析
查看>>
Android Studio默认快捷键
查看>>
发布开源库到JCenter所遇到的一些问题记录
查看>>
第七周作业
查看>>
函数式编程与参数
查看>>
flush caches
查看>>
SSAS使用MDX生成脱机的多维数据集CUB文件
查看>>
ACM_hdu1102最小生成树练习
查看>>
MyBatis源码分析(一)--SqlSessionFactory的生成
查看>>
android中ListView点击和里边按钮或ImageView点击不能同时生效问题解决
查看>>
CTF常用工具之汇总
查看>>
java的面向对象 (2013-09-30-163写的日志迁移
查看>>
HDU 2191 【多重背包】
查看>>
51nod 1433 0和5【数论/九余定理】
查看>>
【AHOI2013复仇】从一道题来看DFS及其优化的一般步骤和数组分层问题【转】
查看>>
less 分页显示文件内容
查看>>
如何对数据按某列进行分层处理
查看>>
[Qt] this application failed to start because it could not find or load the Qt platform plugin
查看>>
Git Submodule管理项目子模块
查看>>
学会和同事相处的30原则
查看>>