BBS论坛(二十二)

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

(1)common/zlqiniu.js

  1. 'use strict';
  2.  
  3. var zlqiniu = {
  4. 'setup': function (args) {
  5. var domain = args['domain'];
  6. var params = {
  7. browse_button: args['browse_btn'],
  8. runtimes: 'html5,flask,html4',
  9. max_file_size: '500mb',
  10. dragdrop: false,
  11. chunk_size: '4mb',
  12. uptoken_url: args['uptoken_url'],
  13. domain: domain,
  14. get_new_uptoken: false,
  15. auto_start: true,
  16. unique_names: true,
  17. multi_selection: false,
  18. filters: {
  19. mime_types: [
  20. {title: 'Image files', extensions: 'jpg,gif,png'},
  21. {title: 'Video files', extensions: 'flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mp4,mkv,m4v'}
  22. ]
  23. },
  24. log_level: 5,
  25. init: {
  26. 'FileUploaded': function (up, file, info) {
  27. if (args['success']) {
  28. var success = args['success'];
  29. file.name = domain + file.target_name;
  30. success(up, file, info);
  31. }
  32. },
  33. 'Error': function (up, err, errTip) {
  34. if (args['error']) {
  35. var error = args['errors'];
  36. error(up, err, errTip);
  37. }
  38. },
  39. 'UploadProgress': function (up, file) {
  40. if (args['progress']) {
  41. args['progress'](up, file);
  42. }
  43. },
  44. 'FilesAdded': function (up, files) {
  45. if (args['fileadded']) {
  46. args['fileadded'](up, files);
  47. }
  48. },
  49. 'UploadComplete': function () {
  50. if (args['complete']) {
  51. args['complete']();
  52. }
  53. }
  54. }
  55. };
  56. for (var key in args) {
  57. params[key] = args[key];
  58. }
  59. var uploader = Qiniu.uploader(params);
  60. return uploader;
  61. }
  62. };

(2)common/views.py

首先安装:pip install qiniu

  1. @bp.route('/uptoken/')
  2. def uptoken():
  3. #七牛的key
  4. access_key = 'dsdvOjkbwerrraXH4Eh7xhJTxh5q7Y3uZ'
  5. secret_key = 'nchG9ccJ_ergeaggmeOdBZXasvscaizanfs'
  6. q = qiniu.Auth(access_key,secret_key)
  7. #七牛存储空间名字
  8. bucket = 'zhangderek'
  9. token = q.upload_token(bucket)
  10. #字典的key必须是'uptoken'
  11. return jsonify({'uptoken':token})

(3)cms_banners.html

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

(4)cms_banners.html

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

(5)cms/js/banners.js

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

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

22.2.首页动态获取轮播图

(1)front/views.py

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

(2)front/index.html

  1. <!-- 轮播图-->
  2. <div class="carousel-inner" role="listbox">
  3. {% for banner in banners %}
  4. {% if loop.first %}
  5. <div class="item active">
  6. {% else %}
  7. <div class="item ">
  8. {% endif %}
  9. <a href="{{ banner.link_url }}">
  10. <img src="{{ banner.img_url }}" alt="">
  11. </a>
  12. </div>
  13. {% endfor %}
  14. </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. TaikrSpaceShooterStartKit.unitypackage包下载地址

    有好多教程里面没有资源包,现在加密分享给大家 unity4.*  链接: https://pan.baidu.com/s/1XMo2zVpV3ZhkNZKOb6H0yw 密码: tqnt unity5 ...

  2. 算法Sedgewick第四版-第1章基础-024-M/M/1 queue

    /****************************************************************************** * Compilation: javac ...

  3. [转载]/etc/security/limits.conf解释及应用

    limits.conf的格式如下: username|@groupname type resource limit username|@groupname:设置需要被限制的用户名,组名前面加@和用户名 ...

  4. CF938D Buy a Ticket

    这个题都想不出来,感觉

  5. scala中lazy

    Scala中通过lazy关键字来定义惰性变量,惰性变量只能是不可变变量.只有在调用惰性变量的时候,才会去实例化这个变量

  6. Bootstrap 的 Tooltip 和 Popover

    简介 Tooltip 指提示框,Popover 指弹出框. Tooltip 默认 Tooltip 功能是关闭的,使用前要手动开启. $(function () { $('[data-toggle=&q ...

  7. CodeForces 404D Minesweeper 1D (DP)

    题意:给定一个序列,*表示雷,1表示它旁边有一个雷,2表示它旁边有两个雷,0表示旁边没有雷,?表示未知,求有多少情况. 析:dp[i][j] 表示第 i 个放 j 状态,有多少种情况,然后很简单的DP ...

  8. redis系列:集群

    1 简介 Redis 集群是Redis 的一个分布式实现,它是一个网状结构,每个节点都通过 TCP 连接跟其他每个节点连接.现在来看看Redis集群实现了哪些目标? 在1000个节点的时候仍能表现得很 ...

  9. Java50道经典习题-程序41 猴子分桃

    题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿 ...

  10. 基于ef core 2.0的数据库增删改审计系统

    1.首先是建审计存储表 CREATE TABLE [dbo].[Audit] ( [Id] [uniqueidentifier] NOT NULL, [EntityName] [nvarchar](1 ...