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

xplanet 发布于 01/13 09:17
阅读 6K+
收藏 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
xplanet
xplanet

高手问答第 239 期 —— 聊聊 Django Web 应用开发
@拾光TM  @蓝色天际线 @紫竹蜚凝 @puras @代码会说话
恭喜以上五位网友分别获得《Django Web 应用开发实战》图书一本。
请私信 @xplanet  告知快递信息(姓名+电话+地址),年后寄出。

xplanet
xplanet
还有 @蓝色天际线@代码会说话 没有给我地址噢,看到请回复看到请回复。
1
puras
puras

@XyHJw 在当前前后端分离盛行的情况,Django+RestFramework是不是它新的主流方向呢?

XyHJw
XyHJw
目前django在编写API接口主要是使用RestFramework
代码会说话
代码会说话
我觉得是, Flask 太麻烦了, 而且 Django ORM 非常好用,这是Flask + SQLAlchemy 组合不能比的.
dwl301
dwl301
为啥不直接Flask?
1
LeoXu
LeoXu

@XyHJw 您好,请教下,在同时熟悉Java和Python的前提下,用 Django 开发web应用程序,和用Spring Boot相比,前者的优势有哪些?

gammey
gammey
Python性能比java差挺多
arthur666
arthur666
回复 @XyHJw : 那是不是说一些单体小应用的rest接口用django来开发会比java速度更快一点呢
XyHJw
XyHJw
每个框架都有自己的优缺点,Java来说,web开发比较全面,比如Spring Cloud构建分布式系统所需的“全家桶”,在这方面上,Django的确有所欠缺。 django开发web相对较为简单,比较python容易入门,语法简单,不过每个人看同一事物的优缺点都不同,主要取决于开发者对框架的熟悉程度。
1
北京老爷们儿
北京老爷们儿

@XyHJw 有几个问题请教老师:

1. restframework感觉跟flask比有些笨重,老师怎么看这个问题,面向纯服务端开发怎么选择合适?

2. 感觉自己用Django都是简单实现,Django2.0以后的版本,您有没有好的开源项目推荐以借鉴学习?

3. 有好用的Django第三方组建推荐么?

谢谢!

代码会说话
代码会说话
Django 提供的东西丰富这不叫笨重. Flask 太部分人写的对应代码都没有 Django 内置的好. 道理就是这样的. 如果你觉得自己写的代码比 Django 的好.那没问题, 那 Flask 确实轻量些.
XyHJw
XyHJw
django和flask就好似品牌电脑和组装电脑一样,django是品牌电脑,所有功能都已集成在一个框架里面,Flask就要自己拼凑各个插件。对于公司来说,一般使用django,因为比较规范,前人离职,后面也容易接手,而Flask的随意性有点大,特别是项目的文件目录设计。
0
紫竹蜚凝
紫竹蜚凝

@XyHJw  Django Web 应用开发算不算主流开发?和其他Web应用开发框架比起来是否更容易上手?学习曲线如何?有哪些困难点?

代码会说话
代码会说话
我觉得动态语言, 特别是 Python 太动态了是一个难点. 尽量 Python 3.6+ 加类型声明吧.
XyHJw
XyHJw
目前web开发来说,Java还是稳居一线,二线有python、php和go,每个人学习能力不同,有些人觉得简单,有些觉得困,会则不难,不会则难
0
庆辉
庆辉

@XyHJw  diango 开发效率如何?

代码会说话
代码会说话
Django + DRF 开发 Restful API ,不是一般的快.
XyHJw
XyHJw
个人认为Python就相对语法简单,不过凡事没有绝对的,开发效率高低主要看开发者对框架的熟悉程度。
0
钱小轩
钱小轩

@XyHJw  爬虫开发用到了python的哪些包或者先关技术点?爬虫开发过程中,应该注意哪些核心要点?遇到反爬虫的时候,需要采取些什么措施?用python 开发C/S 软件,这个市场前景怎么样?主要服务于哪些行业或场景?学python的,推荐他也去搞下C/S软件开发么?

XyHJw
XyHJw
爬虫开发核心是怎样分析网站的设计原理,一个HTTP请求有不同的请求技巧,比如在请求头加入加密参数,那就要分析这个加密算法,这也是最耗时间的。 Python开发C/S 软件的库很多,比如TK,pyqt,wxpython等,现在GUI软件在企业的外部需求来说可能不大,目前偏向web较多,不妨去招聘网站看看相关招聘信息
0
LibreSoft
LibreSoft

@XyHJw 大佬更喜欢class view方式还是function view的方式  

代码会说话
代码会说话
你要开发 API的话,就算用 @api_view 也会给你先转成 CBV, 要是非 api, 就随意了. FBV 感觉好一点.继承重用使得简单的代码逻辑都容易支离破碎.
XyHJw
XyHJw
这个看功能的复杂程度和个人使用习惯,一般小功能而且复用性不强的喜欢用FBV
0
开源中国首席罗纳尔多
开源中国首席罗纳尔多

@XyHJw 您好,请问怎么快速学python,有什么教程吗?

XyHJw
XyHJw
学习新的编程语言主要靠多敲代码,多去总结知识点,好记性不如烂笔头
0
高效码农
高效码农

@XyHJw Django Web相较于其他web开发(PHP,Java)web开发的优势和劣势?

高效码农
高效码农
回复 @XyHJw : 谢大佬答疑解惑
XyHJw
XyHJw
django,php和go都是支持快速开发,对比java和.net来说,缩减了代码量。对于django来说,Python有一大堆各种各样的库,在功能的实现上更加快捷简单,减少自己造轮子的时间。
返回顶部
顶部