django常用第三方app大全

本文介绍了多个有价值的Django开源项目和扩展应用,如Pinax、Satchmo等,并概述了多种实用工具,涵盖调试、数据库升级、注册登录等功能,助力开发者高效构建Django应用。

djangoapp 资源大全 最近经常在这个版面看到Django相关扩展的介绍,而其一个扩展写一个帖子,觉得没太必要吧。 以前整理的django资源列表,从我的wiki上转过来的。 要找django资源,官网的wiki也是一个不错的地方。 http://code.djangoproject.com/wiki/DjangoResources

django的开源项目

  • pinax 这是我看到的最有价值的django开源项目。pinax可以看做是django的一个脚手架。她提供了快速开始一个新django项目的方法,同时对大 量第三方app的使用方法进行了演示。django的app质量参差不齐,如果你想挑选app,那你可以看看pinax里都集成了哪些app。pinax 里集成了的app通常都不至于太烂。此外pinax自身也带了一些有用的app,比如blog等。

    如果你想以最快的速度了解pinax,可以去 http://cloud27.com/ 看看。这是一个用pinax搭建的SNS网站。

  • Satchmo 网店系统。看她的介绍,似乎已经有不少人在用这东西了。
  • LFS(Lightning Fast Shop) 网店系统,就Demo来看似乎是倾向于房屋交易平台。陆陆续续的也有部分商业网站开始使用该系统了,比如这个。
  • reviewboard 非常有前途的一个code review工具。最开始是VMware在用,来后给开源了。
  • django-debug-toolbar 为django站点增加调试功能,支持查看django生成的sql语句,及sql的执行时间等,功能强大。不过由于该组件使用了jquery,似乎会使用部分使用了jquery的站点无法正常工作。
  • django-db-log 将django的异常保存到数据库。
  • django-logging 增加sql日志。直接在站点的网页上查看当前页面所使用sql语句以及执行时间。功能比django-debug-toolbar要弱不少,不过要是django-debug-toolbar把你的页面毁了,那就试试这个吧。

数据库升级

在项目开发过程中表结构的变动总是难免,django目前还不支持表结构的自动更新,不过相关的第三方app倒不少。这些app各有各的特色,具体如何选择就要看个人的喜好了。

  • SchemaEvolution 介绍django数据库升级的wiki页面,相关的app都可以在这个页面找到。

未分类

  • django-registration注册功能,支持帐户的邮件激活。
  • django-tagging 为站点增加tagging功能
  • django-voting 投票功能
  • django-ajax-validation 使用ajax方式对表单进行校验,需要jquery的支持。这个组件只能校验,如果需要增加ajax提交表单的功能,还需要自己手动做些修改。
  • django-announcements 发送站内公告,该公告只显示一次。可以设置公共的发送对象(所有人,指定用户,登陆用户)。
  • django-avatar 为用户增加设置个人头像的功能。支持 http://www.gravatar.com/ 和用户上传头像。
  • django-dbtemplates 将django的template保存在数据库,并通过cache来加速template的加载。这样可以很方便的通过admin来编辑template。我想这东西应当可以用来实现一些简单的CMS功能,不过似乎用处不是太大。
  • django-microblogging 类似Twitter的微型博客
  • django-notification 消息分发组件,用来实现类似好友最新动态的功能。
  • django-pagination 一组翻页相关的utils,包括用于实现翻页的tag等。
  • django-robots 通过django的admin来管理robots.txt。不过我觉得robots.txt这东西为什么还需要用admin来管理,还不如直接编辑来的方便。
  • django-messages 实现站内消息的功能。目前该组件的功能的功能还比较弱,虽然作者在进行重构,但似乎进展缓慢。如果有需要我可能会自行对该组件进行一些增强。
  • django-threadedcomments 评论组件,可以给任何的models增加评论功能。
  • django-extensions 一些全局的 management extensions。其中包括create_app的增强,使用werkzeug做开发服务器等功能。
  • django-uni-form 以div方式渲染forms
  • django-timezones 时区设置组件,允许用户设置自己所在的时区。
  • django-bookmarks 书签管理组件
  • django-email-confirmation 在用户设置邮件地址后,给用户的邮箱发送一封确认邮件。用户点击邮件里的link来确认邮件地址的有效性。
  • django-mailer 邮件发送的增强组件,会在邮件发送失败时记录失败日志。
  • django-friends 朋友组件,支持邀请用户成为好友等。
  • django-locations 似乎是一个基于地区的社交网络,需要yaohoo map的支持。
  • django-oembed 方面媒体(视频等)内容嵌入,自动将媒体的连接转换成正确的html代码。
  • django-swaps 易物平台,比如用PSP换NDS啥的。
  • django-wikiapp wiki组件,支持多种wiki语法。不过目前该组件的功能还是比较简单,比如不支持附件。
  • django-mptt 用于生成树形列表的app。如果你认为它会自动给你生成一个完整的树,那你就错了,她只是一组工具。我感觉这东西并不是太好用,是否有什么优点,暂时不太清楚。
  • django-photologue 图片管理,上传图片,缩略图显示等。
  • django-filebrowserdjango-admin的一个扩展,可以直接通过admin对服务器上的文件进行管理。我没用过这东西,不过看介绍,感觉非常棒。
  • goflowDjango上的一个工作流引擎,设计灵感来源于OpenFlow。没用过这东西,对工作流也不太了解,所以也不知道这东西好不好。不过这似乎是django上唯一的一个工作流app
### 常用的 Python 第三方库及其功能 Python 的第三方库极大地扩展了其在各个领域的应用能力,涵盖了从数据处理到 Web 开发等多个方向。以下是一些常用的 Python 第三方库及其功能的详细介绍。 --- #### 数据处理与科学计算 - **NumPy**:提供了高性能的多维数组对象和用于处理这些数组的数学函数,是进行科学计算的基础库。 - **Pandas**:基于 NumPy 构建,提供了高效的数据结构(如 DataFrame 和 Series),用于数据清洗、整理和分析。 - **SciPy**:用于科学计算和工程应用,提供了优化、线性代数、插值等功能。 - **Matplotlib**:用于绘制二维图形,是 Python 中最常用的绘图库。 - **Seaborn**:基于 Matplotlib,提供了更高级的数据可视化接口,特别适合用于统计图表。 ```python import pandas as pd data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]} df = pd.DataFrame(data) print(df) ``` --- #### 网络请求与爬虫 - **Requests**:用于发送 HTTP 请求,简化了与 Web 服务的交互,支持 GET、POST 等多种请求方式[^2]。 - **BeautifulSoup4**:从 HTML 和 XML 文件中解析数据,适合用于网页抓取和信息提取[^3]。 - **Scrapy**:一个功能强大的爬虫框架,适用于大规模网页抓取项目。 ```python import requests response = requests.get('https://example.com') print(response.status_code) print(response.text) ``` --- #### 文档处理 - **pdfminer**:用于从 PDF 文档中提取信息,支持文本、图像和元数据的提取[^3]。 - **openpyxl**:用于处理 Microsoft Excel 文档,支持读取和写入 .xlsx 文件。 - **python-docx**:用于创建和修改 Microsoft Word 文档,支持文本、段落、表格等内容的处理。 --- #### Web 开发 - **Flask**:一个轻量级的 Web 框架,适合小型项目和快速原型开发。 - **Django**:一个功能全面的 Web 框架,适合大型项目,内置了 ORM、模板引擎、管理后台等功能。 - **FastAPI**:一个现代的 Web 框架,基于 Python 3.7+ 的类型提示,支持异步编程。 ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run() ``` --- #### 机器学习与人工智能 - **Scikit-learn**:提供了各种监督和非监督学习算法,以及数据预处理、模型评估等功能。 - **TensorFlow**:由 Google 开发的深度学习框架,支持构建和训练神经网络。 - **PyTorch**:由 Facebook 开发的深度学习框架,以其灵活性和动态计算图著称。 --- #### 图像处理与游戏开发 - **Pillow**:用于图像处理,支持图像的打开、修改和保存。 - **OpenCV**:用于计算机视觉任务,如图像识别、视频分析等。 - **Pygame**:用于开发 2D 游戏,提供了图形、声音和输入处理等功能。 --- #### 兼容性与迁移 - **Six**:提供了一个兼容层,使得代码可以在 Python 2 和 Python 3 上运行[^4]。 - **Python-Future**:为 Python 2 向 Python 3 迁移提供支持,提供了一些兼容性工具。 - **Python-Modernize**:帮助开发者将代码现代化,以便最终迁移到 Python 3。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值