高手问答第 239 期 —— 聊聊 Django Web 应用开发

xplanet 发布于 01/13 09:17
阅读 4K+
收藏 7

Python 的 Web 框架有 DjangoTornadoFlask 等多种。Django 相较规范其他 Web 框架其优势有大而全;框架本身集成了 ORM、模型绑定、模板引擎、缓存、Session 等诸多功能。

通过使用 Django 框架,开发人员可以在几小时内开发和部署 Web 应用程序,包括内容管理、维基百科页面、社交网络应用程序、聊天应用程序以及 Mozilla、Instagram、Pinterest、BitBucket 等网站。

Django 还可以与任何客户端-服务器一起使用应用程序,并能够以任何形式(HTML、文本、JSON、XML、RSS 等)提供内容。

OSCHINA 本期高手问答(2020 年 01 月 13 日 - 2020 年 01 月 19 日)我们特邀请到《Django Web 应用开发实战》一书的作者黄永祥 @XyHJw  与大家一起围绕「Django」展开讨论。可以讨论的内容包括但不限于 Django 与其他 Web 框架的对比、Django 2.X 版本与 Django 3.0 的差异、学习 Django 架站 等等。若有其他任何相关的问题,也都很欢迎提问。

嘉宾简介

黄永祥,资深软件工程师,从业 7 年,主要从事系统开发、爬虫开发和自动化开发,精通 B/S 和 C/S 软件开发、自动化测试技术和 Python 各种应用开发技术,曾出版《实战 Python 网络爬虫》《Python 自动化开发实战》等技术著作。

为了鼓励踊跃提问,清华大学出版社会在问答结束后从提问者中抽取 5 名幸运会员赠予《Django Web 应用开发实战》一书。

购书地址:https://item.jd.com/12604813.html

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家向黄永祥 @XyHJw  积极提问,直接回帖提问即可。

加载中
0
zhuiai
zhuiai

@XyHJw   有用 django 好用的后台系统吗?开源的 ?

XyHJw
XyHJw
可以上github搜索一下:yum:
0
炒股
炒股

@XyHJw  请问你写这本书写了多久?如何写书??有什么经验分享和方法吗?

XyHJw
XyHJw
刚开始写第一本书要半年时间,写习惯了就大概四个月左右,当然这个还要看平时的工作时间,基本上都是抽取空余时间去写的。刚开始多写技术博客,记录和总结自己所学所做的东西,久而久之就有出版社的人找你出书了。
0
拾光TM
拾光TM

@XyHJw 老师你好,之前看过您写的《玩转Django2.0》一书,感觉Django和SpringBoot相比还是存在一些差别,像ORM一个是通过new对象来,一个则是通过工厂模式,这就造成了性能上的差异化。Django3.0现在已经原生支持异步了,那么它对于传统的异步框架Tornado会造成什么样的影响呢?还有在Flask和Django之间哪个更适合于前后端分离,谢谢。

XyHJw
XyHJw
Django是集成了各个功能,Flask需要自己安装各种插件,两者都能搞前后分离,只不过django更为规范,对企业来说肯定首选django
0
Pythonweb2173
Pythonweb2173

@XyHJw  找了几页,找到了中国人写的Django的开源项目,https://github.com/QingdaoU/OnlineJudge/blob/master/README-CN.md ,请问 这个项目值得推荐新书学习吗? 现在Django 入门学习项目,学哪个比较好?

XyHJw
XyHJw
建议从基础学起来,有时候直接从别人的项目入手,并且项目的代码没有详细的解释说明,这样可能比较懵,每个人的代码编写风格都不相同
0
arthur666
arthur666

@XyHJw  您好,我是一名java开发工程师。您可以讲下 django和java spring的对比吗?是django写rest接口更快?还是运行rest接口,服务器成本更低?还是说在服务器运行go的包比jar包的生态环境更好呢?

arthur666
arthur666
回复 @XyHJw : 您好, 不是想讨论语言的争论,是我没有用过go做web项目,如果你用过java的spring框架开发过项目的话,那你应该更清楚spring与django的差异,想听听您这个总结,谢谢,老师
XyHJw
XyHJw
不同语言之间的争论是永无止境的,就好比PHP是世界上最好的语言,不管是哪种语言,能实现开发需求就行了,快与慢,运行效率,我觉得每种语言的差异不会太大,主要是看网站架构怎样设计,数据怎样优化而已
0
洛阳码农
@XyHJw 对于大型项目性能方面django如何优化?毕竟跟tornado相比,django比较臃肿,大佬有没有什么经验分享一下!
XyHJw
XyHJw
大型项目已经不关框架的事了,这个设计到项目架构设计,这方面涉及较多知识面,比如分布式,集群,负载均衡等各方面设计
0
书生小兰
书生小兰
@XyHJw 老师您好,这么多web框Django有什么优势
XyHJw
XyHJw
第三方插件丰富,不用自己造轮子,而且内置的功能能满足大部分开发需求了。
0
赤脚小子
赤脚小子

@XyHJw 你好我有个想法不知道用PY这种动态语言能实现么

用户前端操作创建表单,后端直接根据表单生成一个表单对象的【类文件】,并且DJ能动态加载,

之前试了JVM上的GROOVY还是达不到。

还有就是PY对泛型的支持如何。谢谢

XyHJw
XyHJw
Python 不需要泛型是因为 Python 的变量是动态的,有 lazy binding 效果。比如一个函数传入 connection 参数,然后函数中调用 connection.close() 。
0
zerolemon
zerolemon

@XyHJw  你好,我有两个问题想了解一下:

1、我们公司现在就是处于一个混乱期,各种数据集成的系统,使用的语言也跨度很大,PHP、C#、JAVA都有。关键是为了方便开发,很多系统的数据库都是直连的,没有中间接口调度,如果引入django的框架,能不能优化业务接口的调度使用?

2、关于个人的,django的框架使用还是有了解的,但是经常发现在页面展示的时候,做的非常弱鸡。完全个人开发的话,如何在保证后端功能的前提下,模板的使用上也有所提升呢?django的模板提取,一直都学的不好。

 

XyHJw
XyHJw
多动手多思考多总结才能真正掌握
0
Pythonweb2173
Pythonweb2173

@XyHJw  探究FBV视图  和mvc模式有啥区别,Django 偏后端,配合哪些前端框架开发比较好?FBV视图的开发模式,用函数太多会不会不利于阅读?公司推荐用函数开发web吗?

XyHJw
XyHJw
django的视图相当于mvc的c部分,Django可以使用任何前端框架,主要个人选择。FBV视图比较直观易懂,而CBV就对类的理解要求较高
返回顶部
顶部