Django 在新一代的 Web 框架中非常出色,为什么这么说呢?
为回答该问题,让我们考虑一下不使用框架设计 Python 网页应用程序的情形。贯穿整本教程,我们多次展示不使用框架实现网站基本功能的方法,让同学们认识到框架开发的方便。(不使用框架,更多情况是没有合适的框架可用。最重要的是,理解实现的来龙去脉会使你成为一个优秀的 web 开发者)。
使用 Python 开发 Web,最简单,原始和直接的办法是使用 CGI 标准,在 1998 年这种方式很流行。 现在从应用角度解释它是如何工作:首先做一个 Python 脚本,输出 HTML 代码,然后保存成 .cgi 扩展名的文件,通过浏览器访问此文件。就是这样。
如下示例,用Python CGI 脚本显示数据库中最新出版的 10 本教程: 不用关心语法细节;仅仅感觉一下基本实现的方法:
import MySQLdb
print "Content-Type: text/html\n"
print "<html><head><title>Books</title></head>"
print "<body>"
print "<h1>Books</h1>"
print "<ul>"
connection = MySQLdb.connect(user='me', passwd='letmein', db='my_db')
cursor = connection.cursor()
cursor.execute("SELECT name FROM books ORDER BY pub_date DESC LIMIT 10")
for row in cursor.fetchall():
print "<li>%s</li>" % row[0]
print "</ul>"
print "</body></html>"
connection.close()
首先,用户请求 CGI,脚本代码打印 Content-Type 行,后面跟着换行。再接下来是一些 HTML 的起始标签,然后连接数据库并执行一些查询操作,获取最新的十本教程。在遍历这些书的同时,生成一个书名的 HTML 列表项。最后,输出 HTML 的结束标签并且关闭数据库连接。
像这样的一次性的动态页面,从头写起的方法并非一定不好。其中一点:这些代码简单易懂,就算是一个初起步的开发者都能读明白这 16 行的 Python 的代码,而且这些代码从头到尾做了什么都能了解得一清二楚。不需要学习额外的背景知识,没有额外的代码需要去了解。同样,也易于部署这 16 行代码,只需要将它保存为一个 latestbooks.cgi
的文件,上传到网络服务器上,通过浏览器访问即可。
尽管实现很简单,还是暴露了一些问题和不便的地方。问你自己这几个问题:
- 应用中有多处需要连接数据库会怎样呢?每个独立的 CGI 脚本,不应该重复写数据库连接的代码。比较实用的办法是写一个共享函数,可被多个代码调用。
- 一个开发人员确实需要去关注如何输出 Content-Type 以及完成所有操作后去关闭数据 库么?此类问题只会降低开发人员的工作效率,增加犯错误的几率。那些初始化和释放相关的工作应该交给一些通用的框架来完成。
- 如果这样的代码被重用到一个复合的环境中会发生什么? 每个页面都分别对应独立的数据库和密码吗?
- 如果一个 Web 设计师,完全没有 Python 开发经验,但是又需要重新设计页面的话,又将发生什么呢?一个字符写错了,可能导致整个应用崩溃。理想的情况是,页面显示的逻辑与从数据库中读取书本记录分隔开,这样 Web 设计师的重新设计不会影响到之前的业务逻辑。
以上正是 Web 框架致力于解决的问题。Web 框架为应用程序提供了一套程序框架,这样你可以专注于编写清晰、易维护的代码,而无需从头做起。简单来说,这就是 Django 所能做的。
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
优快云大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓