×

django是什么意思 django python

django是什么意思(想学习python做后端,有人推荐django有人推荐flask,二者有啥区别呢)

admin admin 发表于2023-04-07 07:57:24 浏览43 评论0

抢沙发发表评论

本文目录

想学习python做后端,有人推荐django有人推荐flask,二者有啥区别呢

Flask

  1. Flask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过

  2. Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库
  3. 入门简单,即便没有多少web开发经验,也能很快做出网站
  4. 非常适用于小型网站
  5. 非常适用于开发web服务的API
  6. 开发大型网站无压力,但代码架构需要自己设计,开发成本取决于开发者的能力和经验各方面性能均等于或优于Django
  7. Django自带的或第三方的好评如潮的功能,Flask上总会找到与之类似第三方库
  8. Flask灵活开发,Python高手基本都会喜欢Flask,但对Django却可能褒贬不一
  9. Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django
  10. Flask比Django更加Pythonic,与Python的philosophy更加吻合

Django

  1. jango太重了,除了web框架,自带ORM和模板引擎,灵活和自由度不够高

  2. Django能开发小应用,但总会有“杀鸡焉用牛刀”的感觉
  3. Django的自带ORM非常优秀,综合评价略高于SQLAlchemy
  4. Django自带的模板引擎简单好用,但其强大程度和综合评价略低于Jinja
  5. Django自带ORM也使Django与关系型数据库耦合度过高,如果想使用MongoDB等NoSQL数据,需要选取合适的第三方库,且总感觉Django+SQL才是天生一对的搭配,Django+NoSQL砍掉了Django的半壁江山
  6. Django目前支持Jinja等非官方模板引擎
  7. Django自带的数据库管理app好评如潮
  8. Django非常适合企业级网站的开发:快速、靠谱、稳定
  9. Django成熟、稳定、完善,但相比于Flask,Django的整体生态相对封闭
  10. Django是Python web框架的先驱,用户多,第三方库最丰富,最好的Python库,如果不能直接用到Django中,也一定能找到与之对应的移植
  11. Django上手也比较容易,开发文档详细、完善,相关资料丰富

你认为Django如何

作为一个3年python工作者,感觉很惭愧.python强项在人工智能,然而我的工作确跟人工只能毫不相干,一直与django打交道.

django是python的大型后台框架,功能还是很强大的

orm

orm全程是Object-Relation Mapping,对象关系映射,有一个对象(Modal)对应一张数据表.一个属性名对应一个字段,一个类实例对应一条记录.他可以让你专注代码编写,而不用去管数据库的创建,因为orm给你提供了makemigrations和migrate两个命令

你只要敲敲命令,轻轻松松创建数据表,当然偶尔也会出现问题.对于表字段属性也涵盖了很多,像主键,索引,备注,外键等都有.关于外键要说一下,平常我们数据库都不会建实际的外键关系,所以在orm中我们也可以通过配置,删除在数据库中的外键关系.但是orm中你需要有这个外键关系,有了这个关系,你才能实现连表查询呀.

既然能轻松建数据表,那我们不需要来关心数据库类型了,也是通过配置来实现的.

对于增删查改,基本上你能想到的数据库操作,他都能实现,如果有不能实现的,他还给你提供了原生sql语句查询的.其实,orm的查询,是django自己把你的查询转化成了对应数据库类型的原生sql.有这种转化,必然会损耗部分机器性能.所以要不要用orm还是要视情况而定.

mvt模式

mvt模式,是我不太喜欢模式,model-view-template,他的模板(template)在这个前后端分离的大环境下显的很鸡肋.没有Controller,总感觉怪怪的,你要自己写吧,跟人家这模式又不相符,你要不写吧,代码就会乱乱的.抓耳挠腮~~

小插曲

之前我们公司是没有前后端分离的,我见过我们的后端大神,用xadmin,写前端的.不过我没用过.我还是喜欢用HTML.哈哈,这可以看出,django是不是有点强,虽然有的强没啥用.

总结:

django的功能,肯定不止这一点.我只列一些平常用的比较多的,其余功能可以取官网查询,现在应该是2.x版本了,有几个版本改动还是挺大的.