设计微型小说:网站基于Django+Bootstrap框架

本文介绍了如何利用Python Django框架和Bootstrap构建一个网站,实现txt文件的上传、异步更新文件列表及分页阅读功能。通过FileInput插件上传txt文件,后台处理并保存,前端通过Ajax异步更新文件列表。文章还详细讲解了分页阅读的实现,包括Paginator对象的使用。
摘要由CSDN通过智能技术生成

一、项目背景:

  为了回顾关于django的 文件上传分页功能,打算写一个微型的小说网站练练手。花了一个下午的时间,写了个小项目,发现其中其实遇到了许多问题,不过大部分通过debug之后就解决了,其他部分通过阅读了 Pagination插件以及 Bootstrap-FileInput插件的官方文档。

二、详细设计:

  省去小说网站的用户模块的功能,小说网站主要的功能就是 上传文件在线阅读小说。针对这两个功能,
  主要用到dajngo内置的Pagination模块,以及选择一个上传文件插件即可。因为用的是Bootsrap前端框架,所以就选择了Bootsrap比较多人用的FileInput插件。
   大致的流程:
  • 在首页可以选择上传本地的txt文件到服务器上,然后首页上同时会异步更新已上传的txt文本文件列表。
  • 并且可以在上面选择阅读或者删除的操作。阅读则跳转到另外一个页面,后台会读取该文本文件,并且进行分页操作,返回到前端。主要的流程就是这样。接下来讲讲Pagination和FileInput插件和核心代码。

三、合适的工具:

 Django内置的Pagination实现分页功能,这个不用多说,用Django做web开发分页功能都会用到。
 Bootstrap本身自带upload file文件上传插件太丑了,加上功能也不够完善。所以选择了Bootstrap FileInput插件。

版本选择:

  • Python 3.6.6
  • Django==2.1.7
  • Bootstrap v4.3.1
  • bootstrap-fileinput v4.5.2

四、代码详解:

首先代码主要分为两块,一块为 文件上传后,接收文件对象,保存到指定的目录下;第二块为 读取txt文本文件内容,分页展示到前端页面。
 首先讲讲文件上传的代码,主要涉及到前端的 bootstrap-fileinputt插件。该插件将简单的HTML文件输入转换为 高级文件选择器控件。对于不支持JQuery或Javascript的浏览器,将有助于回退到正常的HTML文件输入。

 以上这段是官方的自我介绍,说说我个人感受吧。首先这个插件支持批量上传,异步上传等功能,简化大部分JS逻辑方面的代码,具体只要跟着官方的API文档看一看,修改一些参数即可。其次,对于上传时会显示一个进度条,用于显示上传的完成度,这样直观反映了完成度。
bootstrap-fileinput的github地址:
https://github.com/kartik-v/bootstrap-fileinput
bootstrap-fileinput的官方文档地址:
http://plugins.krajee.com/file-input
bootstrap-fileinput的官方DEMO:
http://plugins.krajee.com/file-basic-usage-demo

4.1、文件上传

HTML代码:

<div dir=rtl class="file-loading">    <input id="input-b8" name="input-b8" multiple type="file"></div>

JS代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值