Django发布于2005年,是当前Python世界里最负盛名且成熟的网络框架,最初用来制作在线新闻的Web站点。
Django是一个用Python编写的开放源代码的Web应用框架,采用了MVC的框架模式,也有很多人把它称为MVT模式。
优点:
功能完善且要素齐全:自带大量常用的工具和框架,适合快速开发企业级网站;
完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档,开发者遇到问题可以搜索在线文档寻求解决方案;
强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无需学习SQL语言即可对数据库进行 *** 作;
先进的APP设计理念:APP是可插拔的,是不可多得的思想,不需要了可以直接删除,对系统整体影响不大;
自带台管理系统admin:只需要通过简单几行配置和代码就可以实现一个完整的后台数据管理控制平台。
缺点:
大包大揽:对比flask框架来讲,Django不够轻便,包括的功能太多了;
过度封装:很多类和方法都封装了,直接使用比较简单,改动比较困难;
性能劣势:Django性能偏低;
模板问题:Django的模板实现了代码和样式完全分离,不允许模板里出现Python代码,灵活度对某些程序员来说可能不够。
随着网站运作,难免有些时候需要上传文件。上传文件自然是上传到网站所在的服务器,日积月累,慢慢地网站存储空间越来越少。而且网站迁移和备份都不方便,使用这些资源时也占用大量服务器流量。
较好的解决方案是使用第三方存储服务器,例如七牛、阿里云OSS、亚马逊S3等。将文件都放到这些存储服务器,可以减少服务器负担。服务器只剩下必要的静态文件和代码。
以阿里云OSS为例,讲解如何使用第三方存储服务器。(刚好最近用到这个,而且Django有其他人写好的第三方库)
首先,需要拥有OSS。这个去阿里云购买即可。购买之后可得到密钥等一系列信息。
接着,安装oss2库,该库是Python对应oss的 *** 作库。
再安装或下载Django OSS的Storage库。这些库是继承Django的Storage类,并重写相关方法。Django的Stroage是管理上传文件的存储。如何自定义Storage可参考Django官方文档。
执行如下命令,安装Django-Aliyun-OSS2-Storage:
也可以不用pip安装,打开该第三方库的Github,下载源码到本地。这里我需要修改部分代码,所以直接下载把整个包放到Django项目的根目录(也可其他位置)。
安装下载完成之后,配置Django的Settings,添加如下设置:
另外,还有两个对应参数需要注意一下,MEDIA_ROOT和MEDIA_URL。
MEDIA_ROOT是媒体文件的上传位置根目录,由于设置了BUCKET_NAME,一般在这个bucket中。可以设置为空字符串。
文件自然上传到Django模版的FileField字段设置的upload_to位置。
MEDIA_URL是获取媒体文件的链接前缀,可根据自己的oss文件链接位置添加。
由于上传的文件需要开放被用户下载,BUCKET_ACL_TYPE设置为公共的。若你的静态文件也需要上传到OSS中,设置如下:
设置无误后,重启Django即可使用。上传文件将自动上传到OSS中。
上面提到我要修改里面的源码。因为发现上传的文件在下载时的文件名是一串乱码,不是上传时的文件名。这个需要设置一些header信息,可参考OSS的SDK文档。该header需要在上传文件时就提交,而上面的django-aliyun-oss2-storage在上传文件时没有写入header信息。
打开该包的源码文件backendspy,找到AliyunBaseStorage类的_save方法。修改如下:
这样设置,点击文件链接,即可下载并且下载文件名是上传的文件名。若你不是什么类型文件都需要这么处理,可以判断filename的后缀名加以处理。
旅游业是一个带动性很强的产业,乡村旅游作为支持“三农”建设、促进农民观念转变、拓宽农业致富渠道、带动农村经济繁荣发展的重要力量,是新农村建设的有效之举。在传统的乡村旅游开发中,我们可以通过互联网进行深入挖掘、宣传等一系列活动,使原本鲜为人知的乡村景色以及乡村文化让人们所熟知。同时,乡村旅游也使当地居民认识到了乡村文化及乡村产业的价值,增强了自豪感,激发了他们保护原本乡村环境的自觉性。为促进我国乡村旅游景点的开发及发展的标准化、信息化,乡村旅游网站作为服务平台,为旅客提供标准化的信息服务支持,能够经过平台了解到景点的各种详细信息,保证信息的及时、准确、全面,最终赢得客户的认同。该平台包括用户管理、景点介绍、订单管理、用户反馈四个模块。管理员通过平台进行景点的收集和增删改查,景点负责人对于自己负责的景点订单信息进行 *** 作,游客可以通过平台浏览、选择自己心仪的景点进行收藏、下单,游客在体验之后可以对景点、服务等进行评价。
运行环境
开发语言:Python
框架:django/FALSK
Python版本:python377
数据库:mysql 57(一定要57版本)
数据库工具:Navicat11
开发软件:PyCharm
浏览器:谷歌浏览器
随着时代的发展,旅游已经成为人们假日中一个很好的消闲娱乐项目了,在阳光明媚的一天中带着老婆孩子到一个山清水秀的地方去度过美好的一天是很多人的理想生活。尤其是在当前全球内卷严重的情况下,旅游更是能够放松精神从而刚好的投入到工作和学习中,我了能够方便的更多的人查看旅游相关的信息,我们通过Python和Django开发了本次的旅游管理系统
目 录
摘 要 I
ABSTRACT II
目 录 II
第1章 绪论 1
11背景及意义 1
12 国内外研究概况 1
13 研究的内容 1
第2章 相关技术 3
21 Python简介 4
22 Django 框架介绍 6
23 B/S结构 4
24 MySQL数据库 4
第3章 系统分析 5
31 需求分析 5
32 系统可行性分析 5
321技术可行性:技术背景 5
322经济可行性 6
323 *** 作可行性: 6
33 项目设计目标与原则 6
34系统流程分析 7
341 *** 作流程 7
342添加信息流程 8
343删除信息流程 9
第4章 系统设计 11
41 系统体系结构 11
42开发流程设计系统 12
QueryDict不是标准Python字典你直接这样就好:
b = int(requestPOSTget('b',0))根据下文源码 可得出在django的settings中配置 DJANGO_CELERY_BEAT_TZ_AWARE 参数可控制celery时间格式
查看celery文档
timezone = 'Asia/Shanghai' # 时间取值时区
enable_utc = False # 涉及时区的时候需要该参数
timezone_aware = False # 关闭aware感知
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)