{"id":1247,"date":"2022-11-27T19:45:59","date_gmt":"2022-11-27T11:45:59","guid":{"rendered":"https:\/\/www.iotot.com\/?p=1247"},"modified":"2022-11-27T19:45:59","modified_gmt":"2022-11-27T11:45:59","slug":"awesome-django-%e6%a8%a1%e5%9d%97%e5%88%97%e8%a1%a8","status":"publish","type":"post","link":"https:\/\/blog.iotot.com\/?p=1247","title":{"rendered":"awesome-django \u6a21\u5757\u5217\u8868"},"content":{"rendered":"<p>https:\/\/github.com\/wsvincent\/awesome-django<\/p>\n<h2 dir=\"auto\">Contents<\/h2>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#third-party-packages\">Third-Party Packages<\/a>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#admin\">Admin<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#apis\">APIs<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#async\">Async<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#caching\">Caching<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#commands\">Commands<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#configuration\">Configuration<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#content-management-systems\">Content Management Systems<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#database-connectors\">Database Connectors<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#ecommerce\">ECommerce<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#editors\">Editors<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#filesimages\">Files\/Images<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#forms\">Forms<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#full-stack-frameworks\">Full-stack frameworks<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#general\">General<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#logging\">Logging<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#model-fields\">Model Fields<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#models\">Models<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#performance\">Performance<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#search\">Search<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#search-engine-optimisation\">Search Engine Optimisation<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#security\">Security<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#static-assets\">Static Assets<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#task-queues\">Task Queues<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#testing\">Testing<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#urls\">URLs<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#users\">Users<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#views\">Views<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#python-packages\">Python Packages<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#resources\">Resources<\/a>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#official-resources\">Official Resources<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#educational\">Educational<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#community\">Community<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#conferences\">Conferences<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#newsletters\">Newsletters<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#podcasts\">Podcasts<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#books\">Books<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#hosting\">Hosting<\/a>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#paas-platforms-as-a-service\">PaaS (Platforms-as-a-Service)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#iaas-infrastructure-as-a-service\">IaaS (Infrastructure-as-a-Service)<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#projects\">Projects<\/a>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#boilerplate\">Boilerplate<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#open-source-projects\">Open Source Projects<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#django-rest-framework\">Django REST Framework<\/a>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#drf-resources\">DRF Resources<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#drf-tutorials\">DRF Tutorials<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#wagtail\">Wagtail<\/a>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#wagtail-resources\">Wagtail Resources<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 dir=\"auto\"><a id=\"user-content-third-party-packages\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#third-party-packages\" aria-hidden=\"true\"><\/a>Third-Party Packages<\/h2>\n<p dir=\"auto\"><em>For a complete listing of all available packages, see\u00a0<a href=\"https:\/\/djangopackages.org\/\" rel=\"nofollow\">Django Packages<\/a><\/em><\/p>\n<h3 dir=\"auto\"><a id=\"user-content-admin\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#admin\" aria-hidden=\"true\"><\/a>Admin<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/sehmaschine\/django-grappelli\">django-grappelli<\/a>\u00a0&#8211; A jazzy skin for the admin.<\/li>\n<li><a href=\"https:\/\/github.com\/farridav\/django-jazzmin\">django-jazzmin<\/a>\u00a0&#8211; Drop-in theme for django admin, that utilises AdminLTE 3 &amp; Bootstrap 4 to make yo&#8217; admin look jazzy.<\/li>\n<li><a href=\"https:\/\/github.com\/arteria\/django-hijack\">django-hijack<\/a>\u00a0&#8211; Admins can log in and work on behalf of other users without having to know their credentials.<\/li>\n<li><a href=\"https:\/\/github.com\/django-import-export\/django-import-export\">django-import-export<\/a>\u00a0&#8211; Django application and library for importing and exporting data with admin integration.<\/li>\n<li><a href=\"https:\/\/github.com\/dmpayton\/django-admin-honeypot\">django-admin-honeypot<\/a>\u00a0&#8211; Configure a honeypot to see who&#8217;s trying to hack your site.<\/li>\n<li><a href=\"https:\/\/github.com\/skorokithakis\/django-loginas\">django-loginas<\/a>\u00a0&#8211; &#8220;Log in as user&#8221; for the Django admin.<\/li>\n<li><a href=\"https:\/\/github.com\/avallbona\/Impostor\">impostor<\/a>\u00a0&#8211; Impostor is a Django application which allows staff members to login as a different user by using their own username and password.<\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/django-impersonate\/\" rel=\"nofollow\">django-impersonate<\/a>\u00a0&#8211; Allow superusers to \u201cimpersonate\u201d other non-superuser accounts.<\/li>\n<li><a href=\"https:\/\/github.com\/dizballanze\/django-admin-env-notice\">django-admin-env-notice<\/a>\u00a0&#8211; Visually distinguish environments in Django Admin, for example:\u00a0<code>development<\/code>,\u00a0<code>staging<\/code>,\u00a0<code>production<\/code>.<\/li>\n<li><a href=\"https:\/\/github.com\/fabiocaccamo\/django-admin-interface\">django-admin-interface<\/a>\u00a0&#8211; Customize Admin by the admin itself(color, header. title,logo) and popup windows replaced by modals.<\/li>\n<li><a href=\"https:\/\/github.com\/MaistrenkoAnton\/django-material-admin\">django-material-admin<\/a>\u00a0&#8211; Material design for django administration.<\/li>\n<li><a href=\"https:\/\/github.com\/PetrDlouhy\/django-related-admin\">django-related-admin<\/a>\u00a0&#8211; A helper library that allows you to write list_displays accross foreign key relationships.<\/li>\n<li><a href=\"https:\/\/github.com\/globophobe\/django-semantic-admin\">django-semantic-admin<\/a>\u00a0&#8211; Django Semantic UI admin theme.<\/li>\n<li><a href=\"https:\/\/github.com\/b1go\/django-jet-reboot\">django-jet-reboot<\/a>\u00a0&#8211; Django Jet is modern template for Django admin interface with improved functionality.<\/li>\n<li><a href=\"https:\/\/github.com\/otto-torino\/django-baton\">django-baton<\/a>\u00a0&#8211; A cool, modern and responsive django admin application based on bootstrap 5.<\/li>\n<li><a href=\"https:\/\/github.com\/jrief\/django-admin-sortable2\">django-admin-sortable2<\/a>\u00a0&#8211; Generic drag-and-drop ordering for objects in the Django admin interface.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-apis\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#apis\" aria-hidden=\"true\"><\/a>APIs<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/encode\/django-rest-framework\">django-rest-framework<\/a>\u00a0&#8211; Web APIs for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/adamchainz\/django-cors-headers\">django-cors-headers<\/a>\u00a0&#8211; If your back-end and front-end are on different servers, you need this.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/dj-rest-auth\">dj-rest-auth<\/a>\u00a0&#8211; Authentication for Django Rest Framework.<\/li>\n<li><a href=\"https:\/\/github.com\/James1345\/django-rest-knox\">django-rest-knox<\/a>\u00a0&#8211; Authentication Module for django-rest-auth.<\/li>\n<li><a href=\"https:\/\/github.com\/sunscrapers\/djoser\">djoser<\/a>\u00a0&#8211; REST implementation of Django auth.<\/li>\n<li><a href=\"https:\/\/github.com\/paul-wolf\/djaq\">djaq<\/a>\u00a0&#8211; An instant remote API to Django models with a powerful query language.<\/li>\n<li><a href=\"https:\/\/github.com\/davesque\/django-rest-framework-simplejwt\">django-rest-framework-simplejwt<\/a>\u00a0&#8211; JSON web tokens for DRF.<\/li>\n<li><a href=\"https:\/\/github.com\/owais\/django-webpack-loader\">django-webpack-loader<\/a>\u00a0&#8211; Transparently use webpack with Django.<\/li>\n<li><a href=\"https:\/\/github.com\/axnsan12\/drf-yasg\">drf-yasg<\/a>\u00a0&#8211; Automated generation of real Swagger\/OpenAPI 2.0 schemas from Django REST Framework code.<\/li>\n<li><a href=\"https:\/\/github.com\/graphql-python\/graphene-django\">graphene-django<\/a>\u00a0&#8211; GraphQL for Django.<\/li>\n<li><a href=\"https:\/\/django-ninja.rest-framework.com\/\" rel=\"nofollow\">django-ninja<\/a>\u00a0&#8211; Django Ninja &#8211; Fast Django REST framework based on type annotations.<\/li>\n<li><a href=\"https:\/\/github.com\/django-tastypie\/django-tastypie\">django-tastypie<\/a>\u00a0&#8211; Creating delicious APIs for Django apps since 2010.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-async\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#async\" aria-hidden=\"true\"><\/a>Async<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/django\/channels\/\">channels<\/a>\u00a0&#8211; Async support for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/encode\/starlette\">starlette<\/a>\u00a0&#8211; ASGI framework.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-caching\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#caching\" aria-hidden=\"true\"><\/a>Caching<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/noripyt\/django-cachalot\">django-cachalot<\/a>\u00a0&#8211; Caches your Django ORM queries and automatically invalidates them.<\/li>\n<li><a href=\"https:\/\/github.com\/Suor\/django-cacheops\">django-cacheops<\/a>\u00a0&#8211; A slick ORM cache with automatic granular event-driven invalidation.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-commands\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#commands\" aria-hidden=\"true\"><\/a>Commands<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/django-extensions\/django-extensions\/\">django-extensions<\/a>\u00a0&#8211; Custom management extensions, notably\u00a0<code>runserver_plus<\/code>\u00a0and\u00a0<code>shell_plus<\/code>.<\/li>\n<li><a href=\"https:\/\/github.com\/GaretJax\/django-click\">django-click<\/a>\u00a0&#8211; Write Django management commands using the click CLI library.<\/li>\n<li><a href=\"https:\/\/github.com\/django-dbbackup\/django-dbbackup\">django-dbbackup<\/a>\u00a0&#8211; Management commands to help backup and restore your project database and media files.<\/li>\n<li><a href=\"https:\/\/github.com\/Gusakovskiy\/django-liquidb\">django-liquidb<\/a>\u00a0&#8211; Django application to simplify migration management and changes in states of db scheme.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-configuration\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#configuration\" aria-hidden=\"true\"><\/a>Configuration<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/candidco\/confidential\">confidential<\/a>\u00a0&#8211; Manage configs and secrets (with CLI support).<\/li>\n<li><a href=\"https:\/\/github.com\/joke2k\/django-environ\">django-environ<\/a>\u00a0&#8211; Environment variables.<\/li>\n<li><a href=\"https:\/\/github.com\/sobolevn\/django-split-settings\">django-split-settings<\/a>\u00a0&#8211; Organize multiple settings files.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-constance\">django-constance<\/a>\u00a0&#8211; A Django app for storing dynamic settings in pluggable backends (Redis and Django model backend built in) with an integration with the Django admin app.<\/li>\n<li><a href=\"https:\/\/github.com\/danieljdufour\/djenv\">djenv<\/a>\u00a0&#8211; Load Django settings from environmental variables.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-configurations\">django-configurations<\/a>\u00a0&#8211; eases Django project configuration by relying on the composability of Python classes and following principles of\u00a0<a href=\"https:\/\/12factor.net\/config\" rel=\"nofollow\">the twelve-factor app<\/a>.<\/li>\n<li><a href=\"https:\/\/www.dynaconf.com\/django\/\" rel=\"nofollow\">dynaconf<\/a>\u00a0&#8211; Dynaconf loads django settings from multiple sources (multiple file formats, env vars, redis, vault, etcd), manages secrets, and allows for different merging strategies all following\u00a0<a href=\"https:\/\/12factor.net\/config\" rel=\"nofollow\">the twelve-factor app<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/fabiocaccamo\/django-extra-settings\">django-extra-settings<\/a>\u00a0&#8211; Config and manage typed extra settings using just the django admin.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-content-management-systems\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#content-management-systems\" aria-hidden=\"true\"><\/a>Content Management Systems<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wagtail\/wagtail\">wagtail<\/a>\u00a0&#8211; Popular Django content management system (CMS). See\u00a0<a href=\"https:\/\/github.com\/springload\/awesome-wagtail\">awesome-wagtail<\/a>\u00a0too.<\/li>\n<li><a href=\"https:\/\/github.com\/stephenmcd\/mezzanine\">mezzanine<\/a>\u00a0&#8211; CMS framework.<\/li>\n<li><a href=\"https:\/\/github.com\/divio\/django-cms\">django-cms<\/a>\u00a0&#8211; CMS for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/feincms\/feincms\">feincms<\/a>\u00a0&#8211; An extensible Django-based CMS.<\/li>\n<li><a href=\"https:\/\/github.com\/APSL\/puput\">puput<\/a>\u00a0&#8211; Blog app features with Wagtail.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-database-connectors\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#database-connectors\" aria-hidden=\"true\"><\/a>Database Connectors<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/doableware\/djongo\">djongo<\/a>\u00a0&#8211; Django and MongoDB database connector.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-ecommerce\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#ecommerce\" aria-hidden=\"true\"><\/a>ECommerce<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/mirumee\/saleor\">saleor<\/a>\u00a0&#8211; GraphQL-based Django E-Commerce Platform.<\/li>\n<li><a href=\"https:\/\/github.com\/awesto\/django-shop\">django-shop<\/a>\u00a0&#8211; Django-based shop system.<\/li>\n<li><a href=\"https:\/\/github.com\/shuup\/shuup\">shuup<\/a>\u00a0&#8211; Django E-Commerce Platform.<\/li>\n<li><a href=\"https:\/\/github.com\/django-oscar\/django-oscar\">django-oscar<\/a>\u00a0&#8211; Domain-driven e-commerce for Django.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-editors\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#editors\" aria-hidden=\"true\"><\/a>Editors<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/shaunsephton\/django-ckeditor\">django-ckeditor<\/a>\u00a0&#8211; Django admin CKEditor integration.<\/li>\n<li><a href=\"https:\/\/github.com\/adi-\/django-markdownx\">django-markdownx<\/a>\u00a0&#8211; Comprehensive Markdown plugin built for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/agusmakmun\/django-markdown-editor\">django-markdown-editor<\/a>\u00a0&#8211; Awesome Django Markdown Editor, supported for Bootstrap &amp; Semantic-UI.<\/li>\n<li><a href=\"https:\/\/github.com\/dgk\/django-business-logic\">django-business-logic<\/a>\u00a0&#8211; Visual DSL framework for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/LeeHanYeong\/django-quill-editor\">django-quill-editor<\/a>\u00a0&#8211; Makes Quill.js easy to use on Django Forms and admin sites.<\/li>\n<li><a href=\"https:\/\/github.com\/summernote\/django-summernote\">django-summernote<\/a>\u00a0&#8211; Summernote is a simple WYSIWYG editor.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-tinymce\">django-tinymce<\/a>\u00a0&#8211; TinyMCE integration for Django.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-filesimages\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#filesimages\" aria-hidden=\"true\"><\/a>Files\/Images<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/un1t\/django-cleanup\">django-cleanup<\/a>\u00a0&#8211; Zero configuration file\/image removal for local and remote files.<\/li>\n<li><a href=\"https:\/\/github.com\/matthewwithanm\/django-imagekit\">django-imagekit<\/a>\u00a0&#8211; Django app for processing images for thumbnail, black-and-white and sizes.<\/li>\n<li><a href=\"https:\/\/github.com\/codingjoe\/django-pictures\">django-pictures<\/a>\u00a0&#8211; Responsive cross-browser image library using modern codes like AVIF &amp; WebP.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-forms\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#forms\" aria-hidden=\"true\"><\/a>Forms<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/marksweb\/django-bleach\/\">django-bleach<\/a>\u00a0&#8211; Integrate bleach into forms and models.<\/li>\n<li><a href=\"https:\/\/github.com\/django-crispy-forms\/django-crispy-forms\/\">django-crispy-forms<\/a>\u00a0&#8211; DRY Django forms.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-floppyforms\">django-floppyforms<\/a>\u00a0&#8211; Full control of form rendering.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-formtools\">django-formtools<\/a>\u00a0&#8211; For form previous and multi-step forms, previously part of Django until 1.8.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-widget-tweaks\">django-widget-tweaks<\/a>\u00a0&#8211; Tweak form field rendering in templates.<\/li>\n<li><a href=\"https:\/\/github.com\/yourlabs\/django-autocomplete-light\">django-autocomplete-light<\/a>\u00a0&#8211; Add autocompletion to forms.<\/li>\n<li><a href=\"https:\/\/github.com\/kennethlove\/django-shapeshifter\">django-shapeshifter<\/a>\u00a0&#8211; A class-based view to handle multiple forms in one view.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-full-stack-frameworks\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#full-stack-frameworks\" aria-hidden=\"true\"><\/a>Full-stack frameworks<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/edelvalle\/reactor\/\">Reactor<\/a>\u00a0&#8211; Phoenix LiveView, but for Django.<\/li>\n<li><a href=\"https:\/\/sockpuppet.argpar.se\/\" rel=\"nofollow\">Sockpuppet<\/a>\u00a0&#8211; Build reactive applications with the Django tooling you already know and love.<\/li>\n<li><a href=\"https:\/\/www.django-unicorn.com\/\" rel=\"nofollow\">Unicorn<\/a>\u00a0&#8211; A reactive component framework that progressively enhances a normal Django view, makes AJAX calls in the background, and dynamically updates the DOM.<\/li>\n<li><a href=\"https:\/\/github.com\/TriOptima\/iommi\">iommi<\/a>\u00a0&#8211; Toolkit for development of CRUD applications without writing HTML or JavaScript.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-general\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#general\" aria-hidden=\"true\"><\/a>General<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/tolomea\/django-data-browser\">django-data-browser<\/a>\u00a0&#8211; Interactive, user-friendly database explorer.<\/li>\n<li><a href=\"https:\/\/github.com\/carltongibson\/django-filter\">django-filter<\/a>\u00a0&#8211; Powerful filters based on Django QuerySets.<\/li>\n<li><a href=\"https:\/\/github.com\/django-guardian\/django-guardian\">django-guardian<\/a>\u00a0&#8211; Per object permissions in Django.<\/li>\n<li><a href=\"https:\/\/github.com\/groveco\/django-sql-explorer\">django-sql-explorer<\/a>\u00a0&#8211; Share data via SQL queries.<\/li>\n<li><a href=\"https:\/\/github.com\/jieter\/django-tables2\">django-tables2<\/a>\u00a0&#8211; HTML tables with pagination\/sorting.<\/li>\n<li><a href=\"https:\/\/github.com\/fabiocaccamo\/django-maintenance-mode\">django-maintenance-mode<\/a>\u00a0&#8211; Shows a 503 error page when maintenance-mode is on.<\/li>\n<li><a href=\"https:\/\/github.com\/fabiocaccamo\/django-freeze\">django-freeze<\/a>\u00a0&#8211; Convert your dynamic django site to a static one with one line of code.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-logging\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#logging\" aria-hidden=\"true\"><\/a>Logging<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/JonasKs\/django-guid\">django-guid<\/a>\u00a0&#8211; Inject a GUID (Correlation-ID) into every log message in a Django request.<\/li>\n<li><a href=\"https:\/\/github.com\/vishalanandl177\/DRF-API-Logger\">DRF-API-Logger<\/a>\u00a0&#8211; An API Logger for your Django Rest Framework project.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-model-fields\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#model-fields\" aria-hidden=\"true\"><\/a>Model Fields<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/edoburu\/django-any-urlfield\">django-any-urlfield<\/a>\u00a0&#8211; An improved URL selector to choose between internal models and external URLs.<\/li>\n<li><a href=\"https:\/\/github.com\/fabiocaccamo\/django-colorfield\">django-colorfield<\/a>\u00a0&#8211; Color field for django models with a nice color-picker widget.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-model-utils\">django-model-utils<\/a>\u00a0&#8211; Django model mixins and utilities.<\/li>\n<li><a href=\"https:\/\/github.com\/django-money\/django-money\">django-money<\/a>\u00a0&#8211; Money fields for forms\/models.<\/li>\n<li><a href=\"https:\/\/github.com\/stefanfoulis\/django-phonenumber-field\">django-phonenumber-field<\/a>\u00a0&#8211; Model\/form field for normalized phone numbers.<\/li>\n<li><a href=\"https:\/\/github.com\/raagin\/django-streamfield\">django-streamfield<\/a>\u00a0&#8211; Simple StreamField for plain Django admin (based on Wagtail CMS StreamField idea).<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-models\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#models\" aria-hidden=\"true\"><\/a>Models<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/rsinger86\/django-lifecycle\">django-lifecycle<\/a>\u00a0&#8211; Declarative model lifecycle hooks, an alternative to Signals.<\/li>\n<li><a href=\"https:\/\/github.com\/django-mptt\/django-mptt\">django-mptt<\/a>\u00a0&#8211; Modified Preorder Tree Traversal; working with trees of Model instances.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-taggit\/\">django-taggit<\/a>\u00a0&#8211; Simple model tags.<\/li>\n<li><a href=\"https:\/\/github.com\/etianen\/django-reversion\">django-reversion<\/a>\u00a0&#8211; Version control for model instances.<\/li>\n<li><a href=\"https:\/\/github.com\/treyhunner\/django-simple-history\">django-simple-history<\/a>\u00a0&#8211; Store model history and view\/revert changes from the admin.<\/li>\n<li><a href=\"https:\/\/github.com\/django-polymorphic\/django-polymorphic\">django-polymorphic<\/a>\u00a0&#8211; Django-polymorphic simplifies using inherited models in Django projects.<\/li>\n<li><a href=\"https:\/\/github.com\/django-recurrence\/django-recurrence\">django-recurrence<\/a>\u00a0&#8211; Utility for working with recurring dates in Django.<\/li>\n<li><a href=\"https:\/\/github.com\/fabiocaccamo\/django-treenode\">django-treenode<\/a>\u00a0&#8211; Abstract model\/admin for tree based stuff.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-performance\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#performance\" aria-hidden=\"true\"><\/a>Performance<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/cur.at\/GHUO6cn?m=web\" rel=\"nofollow\">django-perf-rec<\/a>\u00a0&#8211; Keep detailed records of the performance of your Django code.<\/li>\n<li><a href=\"https:\/\/newrelic.com\/python\/django\" rel=\"nofollow\">New Relic<\/a>\u00a0&#8211; Time middleware, views, and SQL queries.<\/li>\n<li><a href=\"https:\/\/docs.scoutapm.com\/#django\" rel=\"nofollow\">Scout<\/a>\u00a0&#8211; Time middleware, template rendering, and SQL queries with automatic N+1 detection.<\/li>\n<li><a href=\"https:\/\/github.com\/django-query-profiler\/django-query-profiler\">django-query-profiler<\/a>\u00a0&#8211; Django query profiler to help resolve N+1 queries.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-silk\">django-silk<\/a>\u00a0&#8211; Live profiling and inspection of HTTP requests and database queries.<\/li>\n<li><a href=\"https:\/\/github.com\/benfred\/py-spy\">py-spy<\/a>\u00a0&#8211; Sampling profiler for Python programs.<\/li>\n<li><a href=\"https:\/\/github.com\/joerick\/pyinstrument\">pyinstrument<\/a>\u00a0&#8211; Call stack profiler for Python, Django, Flask, FastAPI.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-search\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#search\" aria-hidden=\"true\"><\/a>Search<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/django-haystack\/django-haystack\">django-haystack<\/a>\u00a0&#8211; Modular search for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/etianen\/django-watson\">django-watson<\/a>\u00a0&#8211; Full-text search plugin.<\/li>\n<li><a href=\"https:\/\/github.com\/shinneider\/django-admin-search\">django-admin-search<\/a>\u00a0&#8211; Modal filter for django admin.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-search-engine-optimisation\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#search-engine-optimisation\" aria-hidden=\"true\"><\/a>Search Engine Optimisation<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/kapt-labs\/django-check-seo\">django-check-seo<\/a>\u00a0&#8211; Check SEO of pages.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-security\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#security\" aria-hidden=\"true\"><\/a>Security<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/mozilla\/django-csp\">django-csp<\/a>\u00a0&#8211; Adds\u00a0<a href=\"http:\/\/www.w3.org\/TR\/CSP\/\" rel=\"nofollow\">Content-Security-Policy<\/a>\u00a0headers to Django.<\/li>\n<li><a href=\"https:\/\/github.com\/adamchainz\/django-feature-policy\">django-feature-policy<\/a>\u00a0&#8211; Set the draft security HTTP header\u00a0<code>Feature-Policy<\/code>\u00a0on a Django app.<\/li>\n<li><a href=\"https:\/\/github.com\/cobusc\/django-protected-media\">django-protected-media<\/a>\u00a0&#8211; Manages media that are considered sensitive in a protected fashion.<\/li>\n<li><a href=\"https:\/\/djcheckup.com\/\" rel=\"nofollow\">DJ Checkup<\/a>\u00a0&#8211; Runs several checks on your deployed Django site to check for common security mistakes.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-static-assets\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#static-assets\" aria-hidden=\"true\"><\/a>Static Assets<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/jschneier\/django-storages\">django-storages<\/a>\u00a0&#8211; A single library to support multiple custom storage backends for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/django-compressor\/django-compressor\/\">django-compressor<\/a>\u00a0&#8211; Compress JavaScript\/CSS into a single cached file.<\/li>\n<li><a href=\"https:\/\/github.com\/SmileyChris\/easy-thumbnails\">easy-thumbnails<\/a>\u00a0&#8211; Image thumbnails for Django.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-task-queues\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#task-queues\" aria-hidden=\"true\"><\/a>Task Queues<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/rajasimon\/beatserver\">beatserver<\/a>\u00a0&#8211; A periodic task scheduler for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/Koed00\/django-q\">django-q<\/a>\u00a0&#8211; A multiprocessing distributed task queue.<\/li>\n<li><a href=\"https:\/\/github.com\/rq\/django-rq\">django-rq<\/a>\u00a0&#8211; Integration for Redis Queue.<\/li>\n<li><a href=\"https:\/\/github.com\/niwinz\/django-redis\">django-redis<\/a>\u00a0&#8211; Full-featured Redis cache backend for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/celery\/celery\">celery<\/a>\u00a0&#8211; Robust and broker-agnostic task queues for bigger, performance-focused projects.<\/li>\n<li><a href=\"https:\/\/github.com\/mher\/flower\">flower<\/a>\u00a0&#8211; Flower is a web-based tool for monitoring and administrating Celery clusters.<\/li>\n<li><a href=\"https:\/\/github.com\/celery\/django-celery-beat\">django-celery-beat<\/a>\u00a0&#8211; A periodic task scheduler with database configured by Django&#8217;s Admin Panel.<\/li>\n<li><a href=\"https:\/\/github.com\/danihodovic\/celery-exporter\">celery-exporter<\/a>\u00a0&#8211; Prometheus &amp; Grafana monitoring of Celery tasks.<\/li>\n<li><a href=\"https:\/\/github.com\/Bogdanp\/django_dramatiq\">django-dramatiq<\/a>\u00a0&#8211; Task processing library with a focus on simplicity, reliability, and performance.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-testing\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#testing\" aria-hidden=\"true\"><\/a>Testing<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/jazzband\/django-debug-toolbar\/\">django-debug-toolbar<\/a>\u00a0&#8211; Configurable panels to debug requests\/responses.<\/li>\n<li><a href=\"https:\/\/github.com\/pytest-dev\/pytest-django\">pytest-django<\/a>\u00a0&#8211; Use pytest features in Django.<\/li>\n<li><a href=\"https:\/\/github.com\/wemake-services\/django-test-migrations\">django-test-migrations<\/a>\u00a0&#8211; Test django schema and data migrations, including migrations&#8217; order.<\/li>\n<li><a href=\"https:\/\/github.com\/revsys\/django-test-plus\/\">django-test-plus<\/a>\u00a0&#8211; Useful additions to Django&#8217;s default TestCase.<\/li>\n<li><a href=\"https:\/\/github.com\/FactoryBoy\/factory_boy\">factory-boy<\/a>\u00a0&#8211; Test fixtures replacement.<\/li>\n<li><a href=\"https:\/\/github.com\/django-waffle\/django-waffle\">django-waffle<\/a>\u00a0&#8211; A feature flipper for Django.<\/li>\n<li><a href=\"https:\/\/github.com\/model-bakers\/model_bakery\">model-bakery<\/a>\u00a0&#8211; Object factory for Django (rename of legacy Model Mommy project).<\/li>\n<li><a href=\"https:\/\/github.com\/fcurella\/django-fakery\">django-fakery<\/a>\u00a0&#8211; An easy-to-use implementation of Creation Methods for Django, backed by Faker.<\/li>\n<li><a href=\"https:\/\/github.com\/snok\/drf-openapi-tester\">drf-openapi-tester<\/a>\u00a0&#8211; Django test utility for validating Swagger 2.0 and OpenAPI 3.0 documentation.<\/li>\n<li><a href=\"https:\/\/github.com\/adinhodovic\/django-google-optimize\">django-google-optimize<\/a>\u00a0&#8211; Django application designed to make running server side Google Optimize A\/B tests easy.<\/li>\n<li><a href=\"https:\/\/github.com\/torchbox\/django-pattern-library\">django-pattern-library<\/a>\u00a0&#8211; Pattern library generator for Django templates, to help testing of UI components.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-urls\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#urls\" aria-hidden=\"true\"><\/a>URLs<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/jacobian\/dj-database-url\">dj-database-url<\/a>\u00a0&#8211; Database URLs.<\/li>\n<li><a href=\"https:\/\/github.com\/andrewgodwin\/urlman\">urlman<\/a>\u00a0&#8211; A nicer way to do URLs for Django models.<\/li>\n<li><a href=\"https:\/\/github.com\/jazzband\/django-robots\">django-robots<\/a>\u00a0&#8211; This is a basic Django application to manage robots.txt files following the robots exclusion protocol, complementing the Django Sitemap contrib app.<\/li>\n<li><a href=\"https:\/\/github.com\/fabiocaccamo\/django-redirects\">django-redirects<\/a>\u00a0&#8211; Redirects as they should be, with full control.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-users\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#users\" aria-hidden=\"true\"><\/a>Users<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/pennersr\/django-allauth\/\">django-allauth<\/a>\u00a0&#8211; Improved user registration including social auth.<\/li>\n<li><a href=\"https:\/\/github.com\/bennylope\/django-organizations\/\">django-organizations<\/a>\u00a0&#8211; Multi-user accounts for Django projects.<\/li>\n<li><a href=\"https:\/\/github.com\/django-cas-ng\/django-cas-ng\">django-cas-ng<\/a>\u00a0&#8211; Django-cas-ng is Django CAS (Central Authentication Service) 1.0\/2.0\/3.0 client library to support SSO (Single Sign On) and Single Logout (SLO).<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-views\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#views\" aria-hidden=\"true\"><\/a>Views<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/brack3t\/django-braces\">django-braces<\/a>\u00a0&#8211; Reusable, generic mixins.<\/li>\n<li><a href=\"https:\/\/github.com\/soynatan\/django-easy-audit\">django-easy-audit<\/a>\u00a0&#8211; Keep track of user actions.<\/li>\n<li><a href=\"https:\/\/github.com\/AndrewIngram\/django-extra-views\">django-extra-views<\/a>\u00a0&#8211; Extra class-based generic views.<\/li>\n<li><a href=\"https:\/\/github.com\/tomchristie\/django-vanilla-views\">django-vanilla-views<\/a>\u00a0&#8211; Simpler class-based views in Django.<\/li>\n<li><a href=\"https:\/\/github.com\/mgrouchy\/django-stronghold\">django-stronghold<\/a>\u00a0&#8211; Makes all your Django views default login_required.<\/li>\n<\/ul>\n<h2 dir=\"auto\"><a id=\"user-content-python-packages\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#python-packages\" aria-hidden=\"true\"><\/a>Python Packages<\/h2>\n<p dir=\"auto\"><em>A short list of Python packages that work well with Django.<\/em><\/p>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/mozilla\/bleach\">bleach<\/a>\u00a0&#8211; Sanitize your inputs\/forms.<\/li>\n<li><a href=\"https:\/\/github.com\/psf\/black\">black<\/a>\u00a0&#8211; Uncompromising Python code formatter.<\/li>\n<li><a href=\"https:\/\/github.com\/nedbat\/coveragepy\">coveragepy<\/a>\u00a0&#8211; Code coverage measurement.<\/li>\n<li><a href=\"https:\/\/github.com\/joke2k\/faker\">faker<\/a>\u00a0&#8211; Faker is a Python package that generates fake data for you.<\/li>\n<li><a href=\"https:\/\/github.com\/coleifer\/huey\">huey<\/a>\u00a0&#8211; A little task queue for Python.<\/li>\n<li><a href=\"https:\/\/github.com\/jmcarp\/nplusone\">nplusone<\/a>\u00a0&#8211; Auto-detect n+1 queries.<\/li>\n<li><a href=\"https:\/\/github.com\/python-pillow\/Pillow\">pillow<\/a>\u00a0&#8211; Python Imaging Library.<\/li>\n<li><a href=\"https:\/\/github.com\/pytest-dev\/pytest\/\">pytest<\/a>\u00a0&#8211; Testing framework.<\/li>\n<li><a href=\"https:\/\/github.com\/henriquebastos\/python-decouple\">python-decouple<\/a>\u00a0&#8211; Strict separation of settings from code.<\/li>\n<li><a href=\"https:\/\/github.com\/un33k\/python-slugify\">python-slugify<\/a>\u00a0&#8211; Returns unicode slugs.<\/li>\n<li><a href=\"https:\/\/github.com\/getsentry\/sentry-python\">sentry-python<\/a>\u00a0&#8211; Error reporting SDK.<\/li>\n<li><a href=\"https:\/\/github.com\/evansd\/whitenoise\">whitenoise<\/a>\u00a0&#8211; Simplified static file serving for Python websites.<\/li>\n<\/ul>\n<h2 dir=\"auto\"><a id=\"user-content-resources\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#resources\" aria-hidden=\"true\"><\/a>Resources<\/h2>\n<h3 dir=\"auto\"><a id=\"user-content-official-resources\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#official-resources\" aria-hidden=\"true\"><\/a>Official Resources<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/www.djangoproject.com\/\" rel=\"nofollow\">Project Website<\/a>\u00a0&#8211; Official Django website.<\/li>\n<li><a href=\"https:\/\/docs.djangoproject.com\/en\/dev\/\" rel=\"nofollow\">Documentation<\/a>\u00a0&#8211; Comprehensive documentation for all Django versions.<\/li>\n<li><a href=\"https:\/\/docs.djangoproject.com\/en\/dev\/intro\/tutorial01\/\" rel=\"nofollow\">Polls Tutorial<\/a>\u00a0&#8211; Build a polls tutorial while learning Django internals.<\/li>\n<li><a href=\"https:\/\/github.com\/django\/django\/\">Source Code<\/a>\u00a0&#8211; Hosted on GitHub.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-educational\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#educational\" aria-hidden=\"true\"><\/a>Educational<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/tutorial.djangogirls.org\/en\/\" rel=\"nofollow\">Django Girls Tutorial<\/a>\u00a0&#8211; Use function-based views to build a blog app.<\/li>\n<li><a href=\"https:\/\/learndjango.com\/\" rel=\"nofollow\">LearnDjango<\/a>\u00a0&#8211; Tutorials and premium courses on Django and Django REST Framework.<\/li>\n<li><a href=\"https:\/\/adamj.eu\/tech\/\" rel=\"nofollow\">Adam Johnson<\/a>\u00a0&#8211; Adam is on the Technical Board of Django and regularly writes tutorials.<\/li>\n<li><a href=\"https:\/\/testdriven.io\/blog\/\" rel=\"nofollow\">TestDriven<\/a>\u00a0&#8211; Multiple Django-specific tutorials on topics like Docker, payments, and more.<\/li>\n<li><a href=\"https:\/\/ccbv.co.uk\/\" rel=\"nofollow\">Classy Class-Based Views<\/a>\u00a0&#8211; Detailed descriptions of methods\/properties\/attributes for each generic class-based view.<\/li>\n<li><a href=\"https:\/\/github.com\/ana-balica\/classy-django-forms\">Classy Django Forms<\/a>\u00a0&#8211; Detailed descriptions of methods\/properties\/attributes for each form class.<\/li>\n<li><a href=\"http:\/\/www.cdrf.co\/\" rel=\"nofollow\">Classy Django REST Framework<\/a>\u00a0&#8211; Detailed descriptions with methods\/attributes for DRF class-based views and serializers.<\/li>\n<li><a href=\"https:\/\/simpleisbetterthancomplex.com\/\" rel=\"nofollow\">Simple is Better than Complex<\/a>\u00a0&#8211; Regularly updated website with many tutorials and tips on Django.<\/li>\n<li><a href=\"https:\/\/www.fullstackpython.com\/django.html\" rel=\"nofollow\">Full Stack Python&#8217;s Django Page<\/a>\u00a0&#8211; Explanation of Django philosophy and links to other resources and tutorials.<\/li>\n<li><a href=\"https:\/\/realpython.com\/tutorials\/django\/\" rel=\"nofollow\">RealPython<\/a>\u00a0&#8211; Many high-quality tutorials on Django.<\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Learn\/Server-side\/Django\" rel=\"nofollow\">Mozilla Tutorial<\/a>\u00a0&#8211; Create a lending library app.<\/li>\n<li><a href=\"https:\/\/www.mattlayman.com\/\" rel=\"nofollow\">Matt Layman<\/a>\u00a0&#8211; Regular tutorials and deep-dives on Django topics.<\/li>\n<li><a href=\"https:\/\/www.djangosites.org\/\" rel=\"nofollow\">Django Sites<\/a>\u00a0&#8211; Comprehensive listing of sites built with Django.<\/li>\n<li><a href=\"https:\/\/github.com\/HackSoftware\/Django-Styleguide\">Django Styleguide<\/a>\u00a0&#8211; Styleguide for Django with best practices and examples.<\/li>\n<li><a href=\"https:\/\/www.djangotemplatetagsandfilters.com\/\" rel=\"nofollow\">Django Template Tags and Filters<\/a>\u00a0&#8211; Additional docs on Django&#8217;s 57 built-in template filters and 27 template tags.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-community\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#community\" aria-hidden=\"true\"><\/a>Community<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/forum.djangoproject.com\/\" rel=\"nofollow\">Django Forum<\/a>\u00a0&#8211; Official Discourse board.<\/li>\n<li><a href=\"https:\/\/www.djangoproject.com\/community\/\" rel=\"nofollow\">Community Page<\/a>\u00a0&#8211; Featuring feeds of Community Blog Posts, Jobs, and more.<\/li>\n<li><a href=\"https:\/\/groups.google.com\/forum\/#!forum\/django-users\/\" rel=\"nofollow\">Django Users Google Group<\/a>\u00a0&#8211; Very active discussion board for questions\/answers.<\/li>\n<li><a href=\"https:\/\/groups.google.com\/forum\/#!forum\/django-developers\/\" rel=\"nofollow\">Developers Google Group<\/a>\u00a0&#8211; For contributions to Django itself only.<\/li>\n<li><a href=\"https:\/\/twitter.com\/djangoproject\/\" rel=\"nofollow\">Twitter<\/a>\u00a0&#8211; For official announcements on updates, security fixes, etc.<\/li>\n<li><a href=\"https:\/\/discord.com\/invite\/xcRH6mN4fa\" rel=\"nofollow\">Discord Server<\/a>\u00a0&#8211; Django Discord Community.<\/li>\n<li>IRC Channel &#8211; Chat with other Django users at irc:\/\/irc.freenode.net\/django.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-conferences\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#conferences\" aria-hidden=\"true\"><\/a>Conferences<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/djangocon.us\/\" rel=\"nofollow\">DjangoCon US<\/a>\u00a0(<a href=\"https:\/\/www.youtube.com\/channel\/UC0yY6a79pPY9J0ShIHRf6yw\" rel=\"nofollow\">YouTube Channel<\/a>)<\/li>\n<li><a href=\"https:\/\/djangocon.eu\/\" rel=\"nofollow\">DjangoCon Europe<\/a>\u00a0(<a href=\"https:\/\/www.youtube.com\/user\/djangoconeurope\" rel=\"nofollow\">YouTube Channel<\/a>)<\/li>\n<li><a href=\"https:\/\/djangocon.com.au\/\" rel=\"nofollow\">DjangoCon AU<\/a><\/li>\n<li><a href=\"https:\/\/djangocon.africa\/\" rel=\"nofollow\">DjangoCon Africa<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/awesome-django#conferences\">Django Day Copenhagen<\/a><\/li>\n<li><a href=\"https:\/\/us.pycon.org\/2020\/\" rel=\"nofollow\">PyCon US<\/a>\u00a0(<a href=\"https:\/\/www.youtube.com\/channel\/UCsX05-2sVSH7Nx3zuk3NYuQ\" rel=\"nofollow\">YouTube Channel<\/a>)<\/li>\n<li><a href=\"https:\/\/2019.pycon-au.org\/\" rel=\"nofollow\">PyCon Australia<\/a>\u00a0(<a href=\"https:\/\/www.youtube.com\/user\/PyConAU\" rel=\"nofollow\">YouTube Channel<\/a>)<\/li>\n<li><a href=\"https:\/\/ep2019.europython.eu\/\" rel=\"nofollow\">Euro Python<\/a>\u00a0(<a href=\"https:\/\/www.youtube.com\/user\/PythonItalia\" rel=\"nofollow\">YouTube Channel<\/a>)<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/channel\/UC9T1dhIlL_8Va9DxvKRowBw\/videos\" rel=\"nofollow\">Django Under the Hood<\/a><\/li>\n<li><a href=\"https:\/\/pycon.org\/\" rel=\"nofollow\">Complete listing of all PyCons globally<\/a><\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-newsletters\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#newsletters\" aria-hidden=\"true\"><\/a>Newsletters<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/django-news.com\/\" rel=\"nofollow\">Django News<\/a>\u00a0&#8211; Weekly newsletter on announcements, articles, projects, and talks.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-podcasts\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#podcasts\" aria-hidden=\"true\"><\/a>Podcasts<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/djangochat.com\/\" rel=\"nofollow\">Django Chat<\/a>\u00a0&#8211; A weekly podcast from William Vincent and Django Fellow Carlton Gibson with discussions of core Django concepts and regular guests.<\/li>\n<li><a href=\"https:\/\/djangoriffs.com\/\" rel=\"nofollow\">Django Riffs<\/a>\u00a0&#8211; A new podcast from Matt Layman.<\/li>\n<li><a href=\"https:\/\/runninginproduction.com\/tags\/django\" rel=\"nofollow\">Running in Production<\/a>\u00a0&#8211; Focused on tech stacks with many episodes specifically on Django.<\/li>\n<li><a href=\"https:\/\/talkpython.fm\/\" rel=\"nofollow\">TalkPython<\/a>\u00a0&#8211; The leading Python podcast with several episodes on Django.<\/li>\n<li><a href=\"https:\/\/www.pythonpodcast.com\/\" rel=\"nofollow\">Podcast Init<\/a>\u00a0&#8211; A popular Python podcast that features Django guests on occasion.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-books\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#books\" aria-hidden=\"true\"><\/a>Books<\/h3>\n<p dir=\"auto\"><em>Django 4.0<\/em><\/p>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/djangoforbeginners.com\/\" rel=\"nofollow\">Django for Beginners: Build websites with Python and Django<\/a><\/li>\n<li><a href=\"https:\/\/adamchainz.gumroad.com\/l\/byddx\" rel=\"nofollow\">Boost Your Django DX<\/a><\/li>\n<li><a href=\"https:\/\/djangoforapis.com\/\" rel=\"nofollow\">Django for APIs: Build web APIs with Python and Django<\/a><\/li>\n<li><a href=\"https:\/\/djangoforprofessionals.com\/\" rel=\"nofollow\">Django for Professionals: Production websites with Python and Django<\/a><\/li>\n<li><a href=\"https:\/\/www.amazon.com\/dp\/1801813051\/\" rel=\"nofollow\">Django 4 By Example: Build powerful and reliable Python web applications from scratch<\/a><\/li>\n<\/ul>\n<p dir=\"auto\"><em>Django 3.2<\/em><\/p>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/adamj.eu\/tech\/2020\/05\/04\/new-book-speed-up-your-django-tests\/\" rel=\"nofollow\">Speed Up Your Django Tests<\/a><\/li>\n<li><a href=\"https:\/\/www.feldroy.com\/books\/two-scoops-of-django-3-x\" rel=\"nofollow\">Two Scoops of Django 3.x: Best Practices for the Django Web Framework<\/a><\/li>\n<li><a href=\"https:\/\/www.feldroy.com\/books\/a-wedge-of-django\" rel=\"nofollow\">A Wedge of Django: Covers Python 3.8 and Django 3.x<\/a><\/li>\n<\/ul>\n<h2 dir=\"auto\"><a id=\"user-content-hosting\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#hosting\" aria-hidden=\"true\"><\/a>Hosting<\/h2>\n<h3 dir=\"auto\"><a id=\"user-content-paas-platforms-as-a-service\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#paas-platforms-as-a-service\" aria-hidden=\"true\"><\/a>PaaS (Platforms-as-a-Service)<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/appliku.com\/\" rel=\"nofollow\">Appliku<\/a><\/li>\n<li><a href=\"http:\/\/dokku.viewdocs.io\/dokku\/\" rel=\"nofollow\">Dokku<\/a><\/li>\n<li><a href=\"https:\/\/www.divio.com\/\" rel=\"nofollow\">Divio<\/a><\/li>\n<li><a href=\"https:\/\/fly.io\/\" rel=\"nofollow\">Fly<\/a><\/li>\n<li><a href=\"https:\/\/cloud.google.com\/python\/django\/\" rel=\"nofollow\">Google Cloud<\/a><\/li>\n<li><a href=\"https:\/\/www.heroku.com\/\" rel=\"nofollow\">Heroku<\/a><\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/develop\/python\/\" rel=\"nofollow\">Microsoft Azure<\/a><\/li>\n<li><a href=\"https:\/\/platform.sh\/\" rel=\"nofollow\">Platform.sh<\/a><\/li>\n<li><a href=\"https:\/\/www.pythonanywhere.com\/\" rel=\"nofollow\">PythonAnywhere<\/a><\/li>\n<li><a href=\"https:\/\/railway.app\/\" rel=\"nofollow\">Railway<\/a><\/li>\n<li><a href=\"https:\/\/render.com\/\" rel=\"nofollow\">Render<\/a><\/li>\n<li><a href=\"https:\/\/vercel.com\/home\" rel=\"nofollow\">Vercel<\/a><\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-iaas-infrastructure-as-a-service\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#iaas-infrastructure-as-a-service\" aria-hidden=\"true\"><\/a>IaaS (Infrastructure-as-a-Service)<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/www.digitalocean.com\/\" rel=\"nofollow\">Digital Ocean<\/a><\/li>\n<li><a href=\"https:\/\/www.linode.com\/\" rel=\"nofollow\">Linode<\/a><\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/lightsail\/\" rel=\"nofollow\">Amazon Lightsail<\/a><\/li>\n<li><a href=\"https:\/\/www.hetzner.com\/\" rel=\"nofollow\">Hetzner<\/a><\/li>\n<\/ul>\n<h2 dir=\"auto\"><a id=\"user-content-projects\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#projects\" aria-hidden=\"true\"><\/a>Projects<\/h2>\n<h3 dir=\"auto\"><a id=\"user-content-boilerplate\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#boilerplate\" aria-hidden=\"true\"><\/a>Boilerplate<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/pydanny\/cookiecutter-django\/\">cookiecutter-django<\/a>\u00a0&#8211; A full-bodied starter project, highly customizable.<\/li>\n<li><a href=\"https:\/\/github.com\/epicserve\/django-base-site\/\">django-base-site<\/a>\u00a0&#8211; A Django site with many common third-party packages pre-installed.<\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/djangox\/\">djangox<\/a>\u00a0&#8211; Batteries included starter project for Pip, Pipenv, or Docker.<\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/drfx\/\">DRFx<\/a>\u00a0&#8211; A DRF starter with user auth, Pipenv, and other goodies.<\/li>\n<li><a href=\"https:\/\/github.com\/jpadilla\/django-project-template\">django-project-template<\/a>\u00a0&#8211; A deliberately basic project that has multiple staging environments and Heroku deployment config.<\/li>\n<li><a href=\"https:\/\/github.com\/erroneousboat\/docker-django\/\">docker-django<\/a>\u00a0&#8211; A quick starter guide for Django and Docker together.<\/li>\n<li><a href=\"https:\/\/github.com\/jefftriplett\/django-startproject\">django-startproject<\/a>\u00a0&#8211; Django start project template with batteries.<\/li>\n<li><a href=\"https:\/\/github.com\/wemake-services\/wemake-django-template\/\">wemake-django-template<\/a>\u00a0&#8211; Bleeding edge Django template focused on code quality and security.<\/li>\n<li><a href=\"https:\/\/github.com\/khadegd\/django-webpack-starter\">django-webpack-starter<\/a>\u00a0&#8211; Django Webpack starter template for using Webpack 4.<\/li>\n<li><a href=\"https:\/\/github.com\/erayerdin\/sos-django-template\">sos-django-template<\/a>\u00a0&#8211; Django starter template with separate dev and production settings.<\/li>\n<li><a href=\"https:\/\/github.com\/bfirsh\/django-docker-heroku-template\">django-docker-heroku-template<\/a>\u00a0&#8211; A template with Docker, GitHub Actions, and Heroku set up for dev\/test\/prod, plus various other best practices.<\/li>\n<li><a href=\"https:\/\/github.com\/ilikerobots\/cookiecutter-vue-django\">cookiecutter-vue-django<\/a>\u00a0&#8211; Django + Vue starter project fusing Vue SFCs &amp; Django Templates.<\/li>\n<li><a href=\"https:\/\/github.com\/jayfk\/launchr\">launchr<\/a>\u00a0&#8211; Launchr is a specialized Django starter template for SaaS web apps.<\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-open-source-projects\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#open-source-projects\" aria-hidden=\"true\"><\/a>Open Source Projects<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/github.com\/wsvincent\/djangoforbeginners\/tree\/master\/ch7-blog-app-with-users\/\">Blog app with users and forms<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wsvincent\/djangoforbeginners\/tree\/master\/ch15-comments\">Newspaper app with custom user model, full user auth<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/sebst\/pythonic-news\">pythonic-news<\/a>\u00a0&#8211; Hacker News clone.<\/li>\n<li><a href=\"https:\/\/github.com\/testdrivenio\/django-aloe-bdd\/\">Behavior-Driven Development with Aloe<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/MeNsaaH\/soMedia\">Image Sharing Blog<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitorfs\/bootcamp\">Bootcamp: An enterprise social network<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/zulip\/zulip\/\">Zulip<\/a>\u00a0&#8211; Open-source team chat.<\/li>\n<li><a href=\"https:\/\/github.com\/MicroPyramid\/Django-CRM\/\">Django-CRM<\/a>\u00a0&#8211; Open Source Python CRM based on Django.<\/li>\n<li><a href=\"https:\/\/github.com\/manjurulhoque\/django-job-portal\">django-job-portal<\/a>\u00a0&#8211; Job portal application using Django.<\/li>\n<li><a href=\"https:\/\/builtwithdjango.com\/\" rel=\"nofollow\">Built with Django<\/a>\u00a0&#8211; Curated list of awesome Django projects.<\/li>\n<li><a href=\"https:\/\/github.com\/PostHog\/posthog\">PostHog<\/a>\u00a0&#8211; Open-source product analytics.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/mailman\/hyperkitty\" rel=\"nofollow\">HyperKitty<\/a>\u00a0&#8211; A web interface to access GNU Mailman v3 archives.<\/li>\n<li><a href=\"https:\/\/github.com\/healthchecks\/healthchecks\">Healthchecks<\/a>\u00a0&#8211; A Cron Monitoring Tool written in Python &amp; Django.<\/li>\n<li><a href=\"https:\/\/github.com\/Flagsmith\/flagsmith\">Flagsmith<\/a>\u00a0&#8211; Open-source Feature Flagging, Remote Config, and AB testing.<\/li>\n<\/ul>\n<h2 dir=\"auto\"><a id=\"user-content-django-rest-framework\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#django-rest-framework\" aria-hidden=\"true\"><\/a>Django REST Framework<\/h2>\n<p dir=\"auto\"><em>The most popular way to build web APIs with Django.<\/em><\/p>\n<h3 dir=\"auto\"><a id=\"user-content-drf-resources\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#drf-resources\" aria-hidden=\"true\"><\/a>DRF Resources<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/www.django-rest-framework.org\/\" rel=\"nofollow\">Official Documentation<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/encode\/django-rest-framework\">DRF Source Code<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nioperas06\/awesome-django-rest-framework\">awesome-django-rest-framework<\/a><\/li>\n<\/ul>\n<h3 dir=\"auto\"><a id=\"user-content-drf-tutorials\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#drf-tutorials\" aria-hidden=\"true\"><\/a>DRF Tutorials<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/learndjango.com\/tutorials\/official-django-rest-framework-tutorial-beginners\" rel=\"nofollow\">Official REST Framework &#8211; A Beginner&#8217;s Guide<\/a><\/li>\n<li><a href=\"https:\/\/wsvincent.com\/django-rest-framework-tutorial\/\" rel=\"nofollow\">DRF Blog API<\/a><\/li>\n<li><a href=\"https:\/\/books.agiliq.com\/projects\/django-api-polls-tutorial\/en\/latest\/\" rel=\"nofollow\">Building APIs with Django and DRF<\/a><\/li>\n<li><a href=\"https:\/\/wsvincent.com\/django-rest-framework-react-tutorial\/\" rel=\"nofollow\">DRF with React: Todo API<\/a><\/li>\n<li><a href=\"https:\/\/www.valentinog.com\/blog\/drf\/\" rel=\"nofollow\">DRF with React<\/a><\/li>\n<li><a href=\"https:\/\/fractalideas.com\/blog\/making-react-and-django-play-well-together\/\" rel=\"nofollow\">Making React and Django play well together<\/a><\/li>\n<\/ul>\n<h2 dir=\"auto\"><a id=\"user-content-wagtail\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#wagtail\" aria-hidden=\"true\"><\/a>Wagtail<\/h2>\n<p dir=\"auto\"><em>Wagtail, the powerful CMS for modern websites.<\/em><\/p>\n<h3 dir=\"auto\"><a id=\"user-content-wagtail-resources\" class=\"anchor\" href=\"https:\/\/github.com\/wsvincent\/awesome-django#wagtail-resources\" aria-hidden=\"true\"><\/a>Wagtail Resources<\/h3>\n<ul dir=\"auto\">\n<li><a href=\"https:\/\/wagtail.io\/\" rel=\"nofollow\">Official Documentation<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/wagtail\/wagtail\/\">Wagtail Source Code<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/springload\/awesome-wagtail\">awesome-wagtail<\/a><\/li>\n<li><a href=\"https:\/\/wagtail.io\/this-week-in-wagtail\/\" rel=\"nofollow\">This week in Wagtail<\/a>\u00a0&#8211; A (most) weekly email with updates from the Wagtail core team.<\/li>\n<li><a href=\"https:\/\/www.wagtail.space\/\" rel=\"nofollow\">Wagtail Space<\/a>\u00a0&#8211; Wagtail CMS events around the world.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/github.com\/wsvincent\/awesome-django Contents Th [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[94],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts\/1247"}],"collection":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1247"}],"version-history":[{"count":1,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts\/1247\/revisions"}],"predecessor-version":[{"id":1248,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts\/1247\/revisions\/1248"}],"wp:attachment":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}