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 记录错误日志

通用


目录
相关文章
|
2月前
|
缓存 数据处理 数据库
Django 框架高级进阶:探索最佳实践与性能优化
【5月更文挑战第18天】在Django开发中,掌握高级技巧和性能优化是关键。最佳实践包括合理组织代码结构、数据库设计优化、使用信号机制和缓存策略。性能优化涉及数据库查询优化(如select_related和prefetch_related)、异步任务处理(如Celery)、启用HTTP缓存、优化模板渲染和服务器配置调整。示例中,通过分页减少数据加载量以提高性能。不断探索和应用这些方法能提升用户体验,应对高并发和大规模数据挑战。
39 6
|
Python
作DJANGO ORM时的一些最佳实践
还是国外的正规,都在作DJANGO ORM的解藕化工作了。 外键不用,多对多,一对多,不用。   参考URL: http://scottlobdell.me/2015/01/sql-database-best-practices-django-orm/ ==========这个网站有很多D...
1289 0
|
1月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
188 4
|
1月前
|
开发框架 数据库 开发者
Web开发新境界:用Python玩转Django和Flask!
【6月更文挑战第12天】Python的Web开发框架Django和Flask各有千秋。Django是全能型框架,适合快速开发大型应用,提供ORM、模板引擎、URL路由和后台管理等全面功能。Flask则轻量级且灵活,适用于小型到中型应用,以其简单易用、高度可扩展和灵活路由著称。两者结合使用,能应对各种Web开发需求。
|
1月前
|
前端开发 JavaScript 数据安全/隐私保护
计算机Python项目|django学生成绩管理系统
计算机Python项目|django学生成绩管理系统
|
28天前
|
存储 JavaScript 前端开发
Python Django下的实现注册验证码
摘要: 使用Python生成随机验证码图像,包括干扰线和噪点,保存到静态文件夹,并将验证码文本存储到数据库。数据库表包含ID、验证码图片路径和验证码文本。JavaScript函数`getRandomInt`生成1到300的随机数,用于请求对应数据库条目的验证码和图片。XMLHttpRequest发送POST请求到服务器,视图函数返回指定ID的验证码图片路径,实现验证码的动态刷新。
|
1月前
|
小程序 前端开发 JavaScript
计算机Python项目|django傣族节日及民间故事推广小程序
计算机Python项目|django傣族节日及民间故事推广小程序
|
1月前
|
SQL 前端开发 关系型数据库
28. Python Web 编程:Django 基础教程
28. Python Web 编程:Django 基础教程
26 2
|
1月前
|
缓存 安全 中间件
Python小白必备!清华大牛整理的《Django零基础入门到精通》手册
Django 是 Python 社区的两大最受欢迎的 Web 框架之一(另一个是 Flask)。凭借功能强大的脚手架和诸多开箱即用的组件,可以使你能够以最小的代价构建和维护高质量的Web应用。 从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。 通过减少重复的代码,Django 使你能够专注于 Web 应用上有趣的关键性的东西。 为了达到这个目标,Django提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。 同时,Django 尝试留下一些方法,来让你根据需要在framework
|
2月前
|
中间件 Python
中间件应用Django Middleware(Python)
【5月更文挑战第3天】中间件应用Django Middleware(Python)
48 6
中间件应用Django Middleware(Python)