Django 最佳实践

简介: Django 最佳实践

如果你决定学习如何用Python和Django 构建网站,这是不错的选择,这里列出了一系列Django最佳实践,如果你对某些观点不同意,可以在下面留言。

基础

  1. 使用Pipenv管理虚拟环境
  2. 使用自定义用户模型(custom user model)
  3. 优先使用GCBV(通用类视图),退而求其次的选择是使用类视图而不是函数视图。
  4. SECRET_KET 这样的变量应该使用环境变量来管理,而不是写在代码中
  5. 使用多setting文件,所以 DEBUG 不应该出现在生产环境中
  6. 本地使用基于Docker的Postgres数据库
  7. 必须有单元测试和集成测试,越多越好

安全方面

  1. 使用Pony Checkup 一步检查网站的安全
  2. 始终使用最新版本的Django
  3. SSL/HTTPS 部署
  4. 修改admin的url,而不是使用默认的 /admin/

第三方包

  • django-debug-toolbar 调试消息和数据库查询时非常有用
  • django-extensions 这个仓库收集了很多扩展库,尤其是runserver_plus
  • django-allauth 提供社交认证和用户email确认
  • Whitenoise 服务于静态文件(也可以使用S3,亚马逊的对象存储,国内可以使用阿里云或者七牛)
  • Sentry 记录错误日志

通用


目录
相关文章
|
Python
作DJANGO ORM时的一些最佳实践
还是国外的正规,都在作DJANGO ORM的解藕化工作了。 外键不用,多对多,一对多,不用。   参考URL: http://scottlobdell.me/2015/01/sql-database-best-practices-django-orm/ ==========这个网站有很多D...
1284 0
|
1天前
|
监控 安全 应用服务中间件
python中Django入门(四)
python中Django入门(四)
31 0
|
1天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
1天前
|
前端开发 UED Python
Wagtail-基于Python Django的内容管理系统CMS实现公网访问
Wagtail-基于Python Django的内容管理系统CMS实现公网访问
|
1天前
|
中间件 Python
中间件应用Django Middleware(Python)
【5月更文挑战第3天】中间件应用Django Middleware(Python)
36 6
中间件应用Django Middleware(Python)
|
1天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之阿里函数计算中在自定义环境下用debian10运行django,用官方层的python3.9,配置好环境变量后发现自定义层的django找不到了如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
22 3
|
1天前
|
存储 搜索推荐 开发者
django-haystack,具有全文搜索功能的 Python 库!
django-haystack,具有全文搜索功能的 Python 库!
25 0
|
1天前
|
SQL 缓存 数据库
在Python Web开发过程中:数据库与缓存,如何使用ORM(例如Django ORM)执行查询并优化查询性能?
在Python Web开发中,使用ORM如Django ORM能简化数据库操作。为了优化查询性能,可以:选择合适索引,避免N+1查询(利用`select_related`和`prefetch_related`),批量读取数据(`iterator()`),使用缓存,分页查询,适时使用原生SQL,优化数据库配置,定期优化数据库并监控性能。这些策略能提升响应速度和用户体验。
18 0
|
1天前
|
安全 前端开发 中间件
Python面试题:Django Web框架基础与进阶
【4月更文挑战第17天】本文详细梳理了Django面试中常考的基础和进阶问题,包括MTV架构、ORM、数据库迁移、视图模板、中间件、信号、表单验证、用户认证授权等,并指出易错点及规避策略。提供代码示例展示模型和视图的实现,助力开发者在面试中脱颖而出。
43 12
|
1天前
|
Python
基于Django的Python应用—学习笔记—功能完善
基于Django的Python应用—学习笔记—功能完善