0

我需要使用带有两个字段和一个按钮的 Python 语言开发一个简单的登录页面,例如:

Username, Password, Login

我知道有一些漂亮的 Python 框架,比如

Django, Grok, WebPy, TurboGears

它支持使用 Python 进行 Web 开发,但我的基本要求是仅包含 3 个屏幕(页面):

  • 第 1 页 - 登录页面(单击登录按钮时重定向到第 2 页)
  • 第 2 页 - 以列表形式包含记录的页面,带有添加新记录的选项(单击“添加记录”按钮时重定向到第 3 页)
  • 第三页 - 带有字段的页面,保存为第二页列表的记录(输入详细信息并单击提交后)

所以,我决定在使用任何框架的情况下使用 Python 开发上述功能,这样我就可以拥有灵活性并编写自己的代码。

  1. 是否可以在不使用框架的情况下使用 Python 创建登录页面?

  2. 我没有从事过 Web 服务工作,也不了解 Python 中 Web 开发的基础知识。

  3. 如果可能,您能否提供一个示例,说明如何使用 Python 创建登录页面并实现上述功能?

4

2 回答 2

2

首先,学习如何在没有框架的情况下做事是件好事,但如果你这样做不是为了教育目的,那么说“我的要求太简单而无法使用框架”很可能是错误的。你所描述的是在光谱的更简单的一端,但我已经可以看到一些你可能在掩饰的复杂性。

无论如何,要实现您的 3 个页面,您将需要:

  • 网络服务器
  • 2 个静态 HTML 文件
  • 用于第二页上的 GET、第一页和第三页的 POST 的 python 处理程序
  • 存储(平面文件或数据库)

查看A Simple Python CGI Server Tutorial以开始使用,在TutorialsPoint: Python - CGI Programming中有更多详细信息。

您的 HTML 表单只需要拥有method="POST"action设置为您从 python 为每个表单提供的 URL。您的 POST 处理程序应该做他们需要做的事情,然后提供 302 重定向。

如果您不了解 Python Web 开发的基础知识,那么您将会忙得不可开交,并且可能应该从单用户平面文件系统开始。也许您现在甚至可以暂时将其存储在内存中。然后,如果/当它停止为你做这件事时,试试 sqlite。配置 Web 服务器也很痛苦,所以如果你能坚持使用BaseHTTPServer.

最后,将您的记录加载到另一个 python 端点中,为每个端点制作一些 HTML,用周围的 HTML 将它放在一个大字符串中,然后为那只小狗服务。

于 2012-10-05T08:17:29.987 回答
0

你的要求很琐碎。尽管人们可能会建议使用诸如烧瓶、瓶子之类的微框架,但我会说您应该尝试 Django 并查看 Django Admin Panel。我认为您可以使用 Django 管理功能来满足您的要求。

更新

看看这个http://docs.python.org/howto/webservers.html

没有框架,如果你不想弄乱 CGI,你可以看看http://webob.org/

于 2012-10-05T07:32:21.790 回答