BBS论坛(二十二)

22.1.七牛js上传轮播图图片

(1)common/zlqiniu.js

'use strict';

var zlqiniu = {
'setup': function (args) {
var domain = args['domain'];
var params = {
browse_button: args['browse_btn'],
runtimes: 'html5,flask,html4',
max_file_size: '500mb',
dragdrop: false,
chunk_size: '4mb',
uptoken_url: args['uptoken_url'],
domain: domain,
get_new_uptoken: false,
auto_start: true,
unique_names: true,
multi_selection: false,
filters: {
mime_types: [
{title: 'Image files', extensions: 'jpg,gif,png'},
{title: 'Video files', extensions: 'flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mp4,mkv,m4v'}
]
},
log_level: 5,
init: {
'FileUploaded': function (up, file, info) {
if (args['success']) {
var success = args['success'];
file.name = domain + file.target_name;
success(up, file, info);
}
},
'Error': function (up, err, errTip) {
if (args['error']) {
var error = args['errors'];
error(up, err, errTip);
}
},
'UploadProgress': function (up, file) {
if (args['progress']) {
args['progress'](up, file);
}
},
'FilesAdded': function (up, files) {
if (args['fileadded']) {
args['fileadded'](up, files);
}
},
'UploadComplete': function () {
if (args['complete']) {
args['complete']();
}
}
}
};
for (var key in args) {
params[key] = args[key];
}
var uploader = Qiniu.uploader(params);
return uploader;
}
};

(2)common/views.py

首先安装:pip install qiniu

@bp.route('/uptoken/')
def uptoken():
#七牛的key
access_key = 'dsdvOjkbwerrraXH4Eh7xhJTxh5q7Y3uZ'
secret_key = 'nchG9ccJ_ergeaggmeOdBZXasvscaizanfs'
q = qiniu.Auth(access_key,secret_key)
#七牛存储空间名字
bucket = 'zhangderek'
token = q.upload_token(bucket)
#字典的key必须是'uptoken'
return jsonify({'uptoken':token})

(3)cms_banners.html

    <script src="https://cdn.staticfile.org/Plupload/2.1.1/moxie.js"></script>
<script src="https://cdn.staticfile.org/Plupload/2.1.1/plupload.dev.js"></script>
<script src="https://cdn.staticfile.org/qiniu-js-sdk/1.0.14-beta/qiniu.js"></script> <script src="{{ static('common/zlqiniu.js') }}"></script>
<script src="{{ static('cms/js/banners.js') }}"></script>

(4)cms_banners.html

 <div class="form-group">
<label class="col-sm-2 control-label">图片</label>
<div class="col-sm-7">
<input type="text" class="form-control" name="img_url" placeholder="轮播图图片">
</div>
<button class="col-sm-2 btn btn-info" id="upload-btn">添加图片</button>
</div>

(5)cms/js/banners.js

$(function () {
zlqiniu.setup({
'domain': 'http://p96dsgm7r.bkt.clouddn.com/',
//上传图片的按钮
'browse_btn': 'upload-btn',
//提交的url
'uptoken_url': '/c/uptoken/',
'success': function (up, file, info) {
//上传成功后,显示图片的url
var imageInput = $("input[name='img_url']");
imageInput.val(file.name);
}
});
});

现在点击“添加图片”,上传成功后,在图片的input框里面会显示图片的地址,并且图片存到你的七牛空间里面。

22.2.首页动态获取轮播图

(1)front/views.py

@bp.route('/')
def index():
banners = BannerModel.query.order_by(BannerModel.priority.desc()).limit(4)
context = {
'banners':banners
}
return render_template('front/front_index.html',**context)

(2)front/index.html

 <!-- 轮播图-->
<div class="carousel-inner" role="listbox">
{% for banner in banners %}
{% if loop.first %}
<div class="item active">
{% else %}
<div class="item ">
{% endif %}
<a href="{{ banner.link_url }}">
<img src="{{ banner.img_url }}" alt="">
</a>
</div>
{% endfor %}
</div>
22.1.七牛js上传轮播图图片
22.2.首页动态获取轮播图


22-----BBS论坛的更多相关文章

  1. Python之路,Day17 - 分分钟做个BBS论坛

    Python之路,Day17 - 分分钟做个BBS论坛   本节内容: 项目:开发一个简单的BBS论坛 需求: 整体参考"抽屉新热榜" + "虎嗅网" 实现不同 ...

  2. Python之路【第十八篇】Django小项目简单BBS论坛部分内容知识点

    开发一个简单的BBS论坛 项目需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可被 ...

  3. python 学习笔记二十 django项目bbs论坛

    项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...

  4. python第一百三十天 ---简单的BBS论坛

    简单的BBS论坛 实现功能 git仓库地址:https://github.com/uge3/BBS 1.整体参考“抽屉新热榜” + “博客园” 2.实现不同论坛版块 3.帖子列表展示 4.个人博客主页 ...

  5. Django小项目简单BBS论坛

    开发一个简单的BBS论坛 项目需求: 1 整体参考"抽屉新热榜" + "虎嗅网" 2 实现不同论坛版块 3 帖子列表展示 4 帖子评论数.点赞数展示 5 在线用 ...

  6. Python开发一个简单的BBS论坛

    项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...

  7. bbs论坛浏览器兼容性问题

    一直都是在chrome上进行调试,今天终于把bbs论坛这个项目搭建完了,进入IE.Firefox看了看 吓哭了!!! 火狐 Edge chrome 特别是加了<!DOCTYPE html> ...

  8. 开源BBS论坛软件推荐

    七款开源BBS论坛软件推荐(1) 本文介绍了七个开源的BBS论坛软件(在英文界一般叫做Forum).可能国内的朋友们比较熟悉Discuz!和PHPwind,但其实我们的选择还是很多的,而且下面介绍的这 ...

  9. LNMP环境搭建BBS论坛及伪静态

    我们在mysql备份 LNMP环境中的数据库迁移为独立的服务器的基础上搭建BBS论坛:  [root@bqh-117 ~]# mysql -uroot -p123456 Welcome to the ...

  10. Django项目 BBS论坛

    BBS论坛 一.项目表分析 二.自定义form组件 三.注册功能 四.BBS论坛 登录功能

随机推荐

  1. java网络编程安全问题

    客户端与服务器互相传输时传输的数据的原内容会不会被人获取到? 在客户端与服务器之间有很多通信节点,数据在这些节点上传输前,可以先获取他们的安全证书,至于当心怕被修改可以用SSL加密(个人见解,这方面懂 ...

  2. session,cookie总结

    不同的域名生成的session_id是不一样的,(就算是相同的主域,例如:www.test.com, blog.test.com 都不一样); 相同的主域,不同的二级域名,例如www和blog都是不共 ...

  3. p3295 [SCOI2016]萌萌哒

    传送门 分析 我们可以将一个点拆成logN个点,分别代表从点i开始,长度为2^k的子串 那么当我们处理两个区间相等的关系时,对区间做二进制拆分,拆成log个区间,分别并起来即可 当然我们这样做修改是省 ...

  4. 51NOD1052 最大M字段和

    传送门 分析 一眼看去我们自然会想到dp[i][j][k]表示区间[i,j]中选k个子段的最大值.然后我们考虑降去一维.我们设dp[i][j]表示考虑了前i个数,在选了a[i]的情况下共有j个子段的最 ...

  5. Luogu 4206 [NOI2005]聪聪与可可

    BZOJ 1415 简单期望 + 记忆化搜索. 发现聪聪每一步走向的地方是在可可的所在位置确定时是确定的,设$nxt_{x, y}$表示聪聪在$x$,可可在$y$时聪聪下一步会走到哪里,我们先预处理出 ...

  6. Luogu 1641 [SCOI2010]生成字符串

    结果和dp没有一点关系…… 30分算法:设$f_{i, j}$表示已经选了$i$个并且有$j$个是白色的状态数,转移显然,最后答案就是$f_{n + m, m}$,时间复杂度$O(n^{2})$. 1 ...

  7. C/C++中struct/union/class内存对齐

    struct/union/class内存对齐原则有四个: 1).数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储 ...

  8. Data Base 常用数据库之top/limit/rownum用法

    常用数据库之top/limit/rownum用法 一.常用数据库: sql server: select top 10 from users where status=1 mysql: select ...

  9. metasploit 读书笔记-EXPLOITATION

    一、渗透攻击基础 1.常用命令 show exploits 显示Meta框架中所有可用的渗透攻击模块。 show options 显示模块所需要的各种参数 back 返回Meta的上一个状态 sear ...

  10. 没固定公网 IP 的公司内网实现动态域名解析( 阿里云万网解析 )

    情景说明 前段时间应公司需求,需要将内网的服务映射到公网.由于公司使用的是类似家庭宽带的线路,没有固定的公网 IP 地址,所以决定使用域名来完成. 当时有几种方案: 1.花生壳:但是目前需要乱七八糟的 ...