Django開發社交類網站必備的10個第三方應用

追夢人物發表於2017-11-23

本文首發於我的部落格 追夢人物的部落格,歡迎關注。

Django 的好處就是大而全,不僅內建了 ORM、表單、模板引擎、使用者系統等,而且第三方應用的生態也是十分完善,開發中大部分常見的功能都能找到對應的第三方實現。在這裡給大家推薦 10 個十分優秀的 Django 第三方庫(GitHub 星星數基本都在 1000 以上,而且都在持續維護與更新中)。雖然這些庫很適合用於社交網站的開發,但也有很大一部分是通用的,可以用於任何用 Django 開發的專案。使用這些庫將大大提高開發效率和生產力。

django-model-utils

簡介:Django model mixins and utilities.

GitHub 地址:github.com/jazzband/dj…

文件地址:django-model-utils.readthedocs.io/en/latest/

點評:增強 Django 的 model 模組。內建了一些通用的 model Mixin,例如 TimeStampedModel 為模型提供一個建立時間和修改時間的欄位,還有一些有用的 Field,幾乎每個 Django 專案都能用得上。

django-allauth

簡介:Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.

GitHub 地址:github.com/pennersr/dj…

文件地址:django-allauth.readthedocs.io/en/latest/

點評:增強 Django 內建的 django.contrib.auth 模組,提供登入、註冊、郵件驗證、找回密碼等一切使用者驗證相關的功能。另外還提供 OAuth 第三方登入功能,例如國內的微博、微信登入,國外的 GitHub、Google、facebook 登入等,幾乎囊括了大部分熱門的第三方賬戶登入。配置簡單,開箱即用。

django-crispy-forms

簡介:The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.

GitHub 地址:github.com/django-cris…

文件地址:django-crispy-forms.rtfd.org/

點評:大大增強 Django 內建的表單功能,Django 內建的表單生成原生的 HTML 表單程式碼還可以,但為其設定樣式是一個麻煩的事情。django-crispy-forms 幫助你使用一行程式碼渲染一個 Bootstrap 樣式的表單,當然它還支援其它一些熱門的 CSS 框架樣式的渲染。

django-mptt

簡介:Utilities for implementing a modified pre-order traversal tree in django.

GitHub 地址:github.com/django-mptt…

文件地址:django-mptt.readthedocs.io/

點評:配合 Django 的 ORM 系統,為資料庫的記錄生成樹形結構,並提供便捷的操作樹型記錄的 API。例如可以使用它實現一個多級的評論系統。總之,只要你的資料結構可能需要使用樹來表示,django-mptt 將大大提高你的開發效率。

django-contrib-comments

簡介:Django used to include a comments framework; since Django 1.6 it's been separated to a separate project. This is that project.

This framework can be used to attach comments to any model, so you can use it for comments on blog entries, photos, book chapters, or anything else.

GitHub 地址:github.com/django/djan…

文件地址:django-contrib-comments.readthedocs.io/

點評:用於提供評論功能,最先整合在 django 的 contrib 內建庫裡,後來被移出來單獨維護(可能覺得評論並非是一個通用的庫吧)。這個評論庫提供了基本的評論功能,但是隻支援單級評論。好在這個庫具有很好的擴充性,基於上邊提到的 django-mptt,就可以構建一個支援層級評論的評論庫,就像 我的部落格評論區 中展示的這樣(個人部落格的評論模組就是基於 django-contrib-comments 和 django-mptt 寫的)。

django-imagekit

簡介:Automated image processing for Django.

GitHub 地址:github.com/matthewwith…

文件地址:django-imagekit.rtfd.org/

點評:社交類網站免不了處理一些圖片,例如頭像、使用者上傳的圖片等內容。django-imagekit 幫你配合 django 的 model 模組自動完成圖片的裁剪、壓縮、生成縮圖等一系列圖片相關的操作。

django-brace

簡介:Reusable, generic mixins for Django

GitHub 地址:github.com/brack3t/dja…

文件地址:django-braces.readthedocs.io/en/latest/i…

點評:django 內建的 class based view 很 awesome,但還有一些通用的類檢視沒有包含在 django 原始碼中,這個庫補充了更多常用的類檢視。類檢視是 django 的一個很重要也很優雅的特性,使用類檢視可以減少檢視函式的程式碼編寫量、提高檢視函式的程式碼複用性等。深入學習類檢視可以看Django類檢視原始碼分析

django-notifications-hq

簡介:GitHub notifications alike app for Django

GitHub 地址:github.com/django-noti…

文件地址:pypi.python.org/pypi/django…

點評:沒什麼好說的,為你的網站提供類似於 GitHub 這樣的通知功能。未讀通知數、通知列表、標為已讀等等。

django-simple-captcha

簡介:Django Simple Captcha is an extremely simple, yet highly customizable Django application to add captcha images to any Django form.

GitHub 地址:github.com/mbi/django-…

文件地址:django-simple-captcha.readthedocs.io/en/latest/

點評:配合 django 的表單模組,方便地為表單新增一個驗證碼欄位。對驗證性要求不高的需求,例如登錄檔單防止機器人自動註冊等使用起來非常方便。

django-anymail

簡介:Django email backends and webhooks for Mailgun, Mailjet, Postmark, SendGrid, SparkPost and more

GitHub 地址:github.com/anymail/dja…

文件地址:anymail.readthedocs.io/

點評:配合 django 的 email 模組,只需簡單配置,就可以使用 Mailgun、SendGrid 等傳送郵件。

django-activity-stream

簡介:Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams.

GitHub 地址:github.com/justquick/d…

文件地址:django-activity-stream.rtfd.io/en/latest/

點評:社交類網站免不了關注、收藏、點贊、使用者動態等功能,這一個 app 全搞定。甚至用它實現一個朋友圈也不是不可能。

相關文章