【问题标题】:Use Python CGI or Django for a web project将 Python CGI 或 Django 用于 Web 项目
【发布时间】:2015-04-18 21:20:32
【问题描述】:

我是一名学习 Python 的前端 Web 开发人员,并决定尝试为朋友创建一个网站。该网站包含一个占星术计算器,它将根据一个人的出生日期、出生时间和出生地生成图表图像和读数。我可以使用 Python CGI 或 Django 来构建它。哪一个适合这个项目?

图表计算器将:

1. generate an image of a chart with the correct houses and signs lined up.
2. plot the planets in the correct houses in the chart
3. show the connections between the stars, like a trine, square, or conjuction.

要渲染图像,我认为 HTML5 可能可以工作。对于服务器端脚本,我倾向于使用 CGI,因为您似乎可以用它编写真正的 Python 程序,然后用 print "sun conjunct jupiter" 之类的东西输出结果。 Django 似乎限制了你使用那种奇怪的语法,迫使你在这些 括号中编写每个 Python 表达式,而且你似乎不能轻松地导入 Python 模块。

我对 Django 不是很熟悉,但这些似乎是我在 Django 教程中注意到的一些限制。

社区中的其他人怎么看?我应该使用 CGI 还是 Django 创建这个网站?

我检查了其他问题,但不确定 Python 迷你框架是否适合此处。

【问题讨论】:

  • Django 模板有限制是有原因的:将逻辑与表示分离通常是个好主意。对于您的任务(生成单个 HTML 页面),Django 可能确实是一种矫枉过正。 Django 的最大卖点是它的 ORM 和你不需要的管理界面。因此,您可能可以使用更简单的框架(如 FlaskBottleweb.py

标签: python django


【解决方案1】:

不太确定您希望从中收集到什么(或问题到底是什么),但您似乎误解了 Python CGI 函数和 Django 是什么。

Django 是一个旨在加快网站开发过程的网络框架,因此您可以专注于特定问题(例如您描述的图表问题),而不必关注网站的基础设施。它旨在抽象出 CGI(稍微简化一下)。如果您正在寻找比 Django 更轻的东西,不妨试试 Flask 或 Bottle。

PS:快速的 Google 搜索显示了几年前的类似问题:My first web app (Python): use CGI, or a framework like Django?

【讨论】:

  • 如果您需要在服务器端进行一些复杂的编程,例如从 1800 年开始计算闰年,或者使用一组不同的数学方程来计算每个行星应该落入哪个宫位,该怎么办?在我的 python 程序中,我至少有 100 行代码。我可能误解了 Django 的目的。我将如何生成这些复杂计算的结果?它会在 Web 服务器上作为普通 .py 文件运行,然后将其结果输出到数据库,然后我使用 Web 框架将这些数据拉入网页吗?
  • @Foure 您可以将任何您想要的代码放入 Django 视图(在其他框架中称为“控制器”)。您提到的“奇怪的语法”仅适用于 Django 模板。如果您使用 Python,那么您在服务器上执行的 Python 代码绝不会受到限制。
  • @nakedfanatic:啊,我明白了!那是我在 Django 教程中没有找到的拼图的缺失部分!谢谢!!
猜你喜欢
  • 2021-08-24
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
  • 2015-05-14
  • 2014-03-06
  • 2011-03-26
相关资源
最近更新 更多