高手问答第 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
Pythonweb2173
Pythonweb2173

@XyHJw  Django 3.0 现在用的公司多吗?Django 在敏捷开发上有优势吗?

XyHJw
XyHJw
目前各大招聘网站招聘Python主要四个方面:人工智能(计算机视觉和自然语言处理较多)、爬虫、web开发和数据分析。其中爬虫和web占据的职位较多
0
Pythonweb2173
Pythonweb2173

@XyHJw  传统的java web和 如今火热的python web对比,python web的开发效率高在哪些地方?

XyHJw
XyHJw
java一种被各种语言对比,结论通常都有一条:臃肿不简洁,语法不酷炫,而Python就相对语法简单。当然凡事没有绝对的,我觉得开发效率高低主要看开发者对框架的熟悉程度。
0
低级码农66
低级码农66

@XyHJw Django实现 前后端分离与微服务架构 ,要使用什么中间件吗? 部署到 服务器上 也可以使用Tomcat吗?

XyHJw
XyHJw
Django为前后端分离与微服务架构提供数据接口,反而可以相应减少中间件的使用,Tomcat是java专用的服务器,部署django大多数使用nignx和Apache
0
低级码农66
低级码农66

@XyHJw  全书以Python3.7和Djang02.2版本实现 的,目前Django 3.0才开始支持原生异步, 那么Djang02.2 怎么实现异步功能??web没有异步会很卡吧?

XyHJw
XyHJw
在django2.0的时候,第三方插件django channel已支持异步的,django3.0只不过将异步功能加入到框架里面,目前3.0的异步功能还没十分完善
0
渣哥
渣哥

@XyHJw  老师你好

1. Django与PHP众多框架相比  优势何在?

2. Django与PHP众多框架相比  劣势何在?

3. 上升到语言层面,何时用Python?作为PHP开发,考虑的第一语言肯定是PHP,那第二语言,比如未来扩展,升级,重构,Go相对于Python来说,哪个更适合web开发?

渣哥
渣哥
回复 @XyHJw : 私以为,若以现有轮子来搞开发,那Python是最强的,若以造轮子的手法来开发 ,PHP是最强的,but,在各语言之间去做权衡则要考虑未来3-5年的运营状况,这些个轮子都是工具,工具只要顺不顺手,没有优劣之分,若我用Python3天能搞定的东西,绝不会用Go一个月去搞定,若Python能支撑业务到未来三五年,那么Python将是首选。
XyHJw
XyHJw
django,php和go都是支持快速开发,对比java和.net来说,缩减了代码量。对于django来说,Python有一大堆各种各样的库,在功能的实现上更加快捷简单。
0
蓝色天际线
蓝色天际线

@XyHJw  黄老师您好,最近在研究 webssh,发现几乎没有基于 django 的 webssh,请问,是不是django 受本身不支持异步的限制,无法完美的开发 webssh,django3.0 听说回引入异步处理,是不是引入后就可以完美的支持 webssh 了?

XyHJw
XyHJw
在django2.0的时候,第三方插件django channel已支持异步的,django3.0只不过将异步功能加入到框架里面,目前3.0的异步功能还没十分完善
0
贫道法号-乱来
贫道法号-乱来

@XyHJw  一看目录,内容好少,一百多块,真心不值!

0
猴子叫你一声敢答应吗
猴子叫你一声敢答应吗

@XyHJw在有文档的情况下写一本书是不是有点多余?

XyHJw
XyHJw
文档虽然讲述了大部分内容,但是很多知识都是比较笼统,对于新手来说看得很蒙
0
ST_阿飞
ST_阿飞

@XyHJw 您好,django 的应用瓶颈有什么,怎么突破这些瓶颈?

XyHJw
XyHJw
django只是一个网站应用框架,一个网站的瓶颈主要看网站的并发量、数据量等因素,解决这些问题涉及到网站架构设计方面,比如数据库集群、负载均衡等多方面考虑
0
大盘
大盘

@XyHJw   django 用PY2 和PY3 有性能上差异吗 ?PY3性能是否更好?

代码会说话
代码会说话
Python 3当然性能更好, Django 2.0 就不支持 Python 2. 快换成 Python 3.6+的版本吧.Django 2.2起步.
返回顶部
顶部