django Add on
n5321 | 2025年2月15日 22:28
tutorial_test增加django_debug插件
pip install django-debug-toolbar -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
增加easy-thumbnails
pip install easy-thumbnails -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
大概搞清楚了这个工具的价值:
对于media中的图片做处理,可以是裁剪、改分辨率,格式等等。
maybe 在cache中也能做一点处理,提高performance!
尝试另外一个插件:django-filer
简单地试了一下,确实很好用的样子!一个在django admin下面的文档管理器
pip install django-polymorphic django-mptt django-filer -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
目前是django-cms给钱的一个开源工具!
使用起来还是很有价值,也比较的简单! 中间出现的一个bug是chatgpt给错了解释!
依赖包有三个:easy-thumbnails、django-polymorphic、django-mptt
settings里面要改的若干项目:
INSTALLED_APPS
'easy_thumbnails',
'filer',
'mptt',
其他的部位
INTERNAL_IPS = [
# ...
"127.0.0.1",
# ...
]
THUMBNAIL_STORAGE = 'easy_thumbnails.filesystems.FileSystemStorage'
THUMBNAIL_HIGH_RESOLUTION = True
THUMBNAIL_ALIASES = {
'': {
'small': {'size': (200, 200), 'crop': True}, # 200x200 裁剪缩略图
'medium': {'size': (400, 400), 'crop': True}, # 400x400
'large': {'size': (800, 800), 'crop': False}, # 800x800,不裁剪
},
}
THUMBNAIL_PROCESSORS = (
'easy_thumbnails.processors.colorspace',
'easy_thumbnails.processors.autocrop',
'filer.thumbnail_processors.scale_and_crop_with_subject_location',
'easy_thumbnails.processors.filters',
)
in models.py
file = FilerFileField(
related_name='documents',
on_delete=models.CASCADE,
blank=True,
null=True,
verbose_name="文件"
)
in admin.py
admin.site.register(Document, DocumentAdmin)
admin.site.unregister(File)
admin.site.register(File, FileAdmin)
重点:作为一个独立的工具,它自己带了若干个tables。也就是说它本质上是可以无model运行的。
它自己这样子带了7个表,7个表对于文件的管理就已经做了很多的控制!
filer_clipboarditem filer_file filer_folder filer_folderpermission filer_image
实际的使用则是自己的model去foreignkey这九个tables。所以逻辑上改动的地方其实不多。
开始的Bug是在settings.py之中做了错误的配置:
FILER_FILE_MODELS = { 'file': 'filer.File', # 默认的文件模型 }
问题是这个工具的用户数量可能不是特别多,虽然github里面有1.8k star,从数量上看是很不少,但是在google中可以搜索到的配置应用的article不多!
另外就是它的help做得太潦草了。从help里面难get到足够多准确的idea!
但是确实是用起来很舒服的一个工具。可以算是今天的收货了!
问题是给user 做update效果不好,或者是暂时没搞清楚它的source code!
其他若干个需要尝试的add on
2. django-allauth
推荐理由: 用于用户注册、登录和身份验证。它支持社交媒体登录(如 Facebook、Google 等)和常规电子邮件登录。
功能: 社交认证、用户注册、邮件验证、密码恢复等。
链接:
3. django-filer
推荐理由: 一个用于文件和图片管理的 Django 插件。它可以帮助你管理书籍封面和其他上传的资源。
功能: 支持文件、图片、文件夹的管理,集成到 Django Admin 界面。
链接:
4. django-ckeditor
推荐理由: 提供一个富文本编辑器,可以用于书籍描述、评论等文本内容的编辑。
功能: 支持格式化文本、插入链接、图片、视频等。
链接:
5. django-comments
推荐理由: 如果你的
bookshare
网站有用户评论功能,django-comments
插件可以帮助你轻松管理评论系统。功能: 支持评论的管理、审核、用户通知等。
链接:
6. django-crispy-forms
推荐理由: 使 Django 表单的 HTML 渲染更加简洁、优雅和响应式,减少了大量的模板工作。
功能: 提供更简洁和美观的表单布局。
链接:
7. django-tagging
推荐理由: 用于标签系统,用户可以为书籍添加标签,方便分类和搜索。
功能: 提供标签添加、搜索、分类等功能。
链接:
8. django-activities
推荐理由: 提供用户行为跟踪、通知功能,可以在书籍分享时进行相关的活动记录。
功能: 用户分享、点赞、评论等活动记录,可以用于构建动态和通知系统。
链接:
9. django-simple-history
推荐理由: 用于跟踪模型实例的历史变化。如果用户编辑了某本书的描述或其他内容,可以记录历史版本。
功能: 自动记录模型的历史版本,支持查看变更历史。
链接:
10. django-celery
推荐理由: 用于异步任务处理。例如,在后台处理书籍上传、生成书籍封面缩略图等耗时操作时,可以使用 Celery。
功能: 支持异步任务队列处理。
链接:
11. django-searchable-select
推荐理由: 提供一个可以搜索的下拉选择框,适用于书籍分类、作者等字段,用户可以快速找到相关内容。
功能: 增强选择框的搜索能力,提升用户体验。
链接:
12. django-storages
推荐理由: 用于处理文件存储,支持使用外部存储服务如 Amazon S3、Google Cloud Storage 或其他云服务。
功能: 支持多种外部存储提供商,方便管理大规模文件。
链接:
13. django-reversion
推荐理由: 提供数据库版本控制功能,用于恢复编辑过的书籍内容或其他模型实例。
功能: 对模型进行版本控制,可以查看和恢复到历史版本。
链接:
14. django-filter
推荐理由: 用于创建过滤器,使得用户可以根据书籍的不同特征(如作者、类别、出版日期等)进行快速过滤。
功能: 支持按条件过滤数据,特别适用于复杂查询。
链接:
15. django-notifications-hq
推荐理由: 提供通知系统,可以用来发送书籍分享、评论等通知给用户。
功能: 支持多种通知方式(如邮件、推送等)。
链接:
16. django-user-accounts
推荐理由: 提供一个完整的用户账户管理系统,可以包括用户的注册、登录、密码恢复等功能。
功能: 用于构建完整的用户管理系统。
链接: